Ich versuche, eine durch Pipe getrennte Datei zu analysieren und die Werte in eine Liste zu übergeben, so dass ich später ausgewählte Werte aus der Liste drucken kann.
Die Datei sieht folgendermaßen aus:
name|age|address|phone|||||||||||..etc
Es hat mehr als 100 Spalten.
Antworten:
14 für die Antwort № 1Wenn Sie eine sehr einfache Datei analysieren, die keine enthält |
Zeichen in den tatsächlichen Feldwerten können Sie verwenden split
:
fileHandle = open("file", "r")
for line in fileHandle:
fields = line.split("|")
print(fields[0]) # prints the first fields value
print(fields[1]) # prints the second fields value
fileHandle.close()
21 für die Antwort № 2
Benutze die CSV-Bibliothek.
Registrieren Sie zuerst Ihren Dialekt:
import csv
csv.register_dialect("piper", delimiter="|", quoting=csv.QUOTE_NONE)
Dann verwenden Sie Ihren Dialekt für die Datei:
with open(myfile, "rb") as csvfile:
for row in csv.DictReader(csvfile, dialect="piper"):
print row["name"]
3 für die Antwort № 3
import pandas as pd
pd.read_csv(filename,sep="|")
Dadurch wird die Datei in einem Datenrahmen gespeichert. Für jede Spalte können Sie Bedingungen anwenden, um die erforderlichen Druckwerte auszuwählen. Die Ausführung dauert sehr kurz. Ich habe es mit 111047 Reihen versucht.