Einlesen der CSV-Dateien in numpy, wo Trennzeichen ist ","

Ich habe eine CSV-Datei mit einem format, das wie folgt aussieht:

"FieldName1", "FieldName2", "FieldName3", "FieldName4"

"04/13/2010 14:45:07.008", "7.59484916392", "10", "6.552373"

"04/13/2010 14:45:22.010", "6.55478493312", "9", "3.5378543"

...

Beachten Sie, dass es doppelte Anführungszeichen am Anfang und Ende jeder Zeile in der CSV-Datei, und die "," string wird verwendet, um getrennte Felder in jeder Zeile. Die Anzahl der Felder in der CSV-Datei kann variieren von Datei zu Datei.

Wenn ich versuche, dies zu Lesen in numpy über:

import numpy as np

data = np.genfromtxt(csvfile, dtype=None, delimiter=',', names=True)

alle Daten bekommt Lesen Sie in als string-Werte, umgeben von double-quote-Zeichen. Nicht unvernünftig, aber nicht viel nutzen für mich, als ich dann zurück gehen und konvertieren jede Spalte auf Ihren korrekten Typ

Wenn ich delimiter='","' statt, alles funktioniert, wie ich möchte, außer für die 1. und letzten Felder. Als start-of-line-und end-of-line Zeichen ein einzelnes doppeltes Anführungszeichen, das ist nicht als eine gültige Trennzeichen für die 1. und letzten Felder, so werden Sie Lesen, wie z.B. "04/13/2010 14:45:07.008 und 6.552373" - Hinweis: die führende und schließende double-quote Zeichen beziehungsweise. Wegen dieser redundanten Zeichen, numpy übernimmt der 1. und letzten Felder sind beide String-Typen; ich will nicht, dass das der Fall

Ist es eine Art zu unterrichten numpy Lesen Sie in Dateien formatiert auf diese Weise, wie ich möchte, ohne zurück zu gehen und "reparieren" die Struktur der numpy-array nach dem ersten Lesen?

InformationsquelleAutor monch1962 | 2010-04-19
Schreibe einen Kommentar