/ / Analysieren einer Pipe-getrennten Datei in Python - Python, Python-3.x, Parsing, durch Trennzeichen getrennte Werte

Parsen einer Pipe-Datei in Python - Python, Python-3.x, Parsing, Delimiter-separated-values

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 № 1

Wenn 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.