Ich lade eine txt-Datei, die eine Mischung aus Float- und String-Daten enthält. Ich möchte sie in einem Array speichern, in dem ich auf jedes Element zugreifen kann. Jetzt mache ich es einfach
import pandas as pd
data = pd.read_csv('output_list.txt', header = None)
print data
Dies ist die Struktur der Eingabedatei : 1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt
.
Jetzt werden die Daten als eindeutige Spalte importiert. Wie kann ich es teilen, um verschiedene Elemente separat zu speichern (damit ich aufrufen kann data[i,j]
)? Und wie kann ich einen Header definieren?
Ich möchte zu den obigen Antworten hinzufügen, die Sie direkt verwenden können
fwf steht für formatierte Linien mit fester Breite.
quelle
Die Lösung von @ Pietrovismara ist korrekt, aber ich möchte nur hinzufügen: Anstatt eine separate Zeile zum Hinzufügen von Spaltennamen zu haben, ist dies über pd.read_csv möglich.
quelle
Sie können dies verwenden
quelle
Wenn Sie den Daten keinen Index zugewiesen haben und sich nicht sicher sind, wie groß der Abstand ist, können Sie Pandas einen Index zuweisen lassen und nach mehreren Leerzeichen suchen.
quelle
delim_whitespace=True
anstelle des'\s+'
TrennzeichensSie können Folgendes tun:
(wie df = pd.read_csv ('F: \ Desktop \ ds \ text.txt', Trennzeichen = "\ t")
quelle
Basierend auf den neuesten Änderungen in Pandas können Sie verwenden, read_csv, read_table ist veraltet:
quelle
Sie können die Textdatei mit dem Befehl read_table wie folgt importieren:
Die Vorverarbeitung muss nach dem Laden erfolgen
quelle
Normalerweise schaue ich mir zuerst die Daten an oder versuche sie einfach zu importieren und data.head () auszuführen. Wenn Sie sehen, dass die Spalten durch \ t getrennt sind, sollten Sie etwas
sep="\t"
anderes angebensep = " "
.quelle