Normalerweise verwende ich den folgenden Python-Code, um Zeilen aus einer Datei zu lesen:
%Vor%Aber wie wäre es, wenn die Datei durch "\ 0" (nicht "\ n") getrennt ist? Gibt es ein Python-Modul, das damit umgehen könnte?
Danke für irgendeinen Rat.
Wenn Ihre Datei klein genug ist, dass Sie alles im Speicher lesen können, können Sie split verwenden:
%Vor%Andernfalls sollten Sie dieses Rezept aus der Diskussion über diese Funktion anfordern ausprobieren:
%Vor% Ich habe auch bemerkt, dass Ihre Datei die Erweiterung "csv" hat. Es gibt ein in Python integriertes CSV-Modul (import csv). Es gibt ein Attribut mit dem Namen Dialect.lineterminator
, das jedoch derzeit nicht im Reader implementiert ist:
Dialekt.lineterminator
Die Zeichenfolge, mit der die vom Writer erzeugten Zeilen terminiert werden. Die Standardeinstellung lautet '\ r \ n'.
Hinweis: Der Leser ist hart codiert, entweder "\ r" oder "\ n" als Zeilenende zu erkennen, und ignoriert den Lineterminator. Dieses Verhalten kann sich in Zukunft ändern.
Ich habe den Vorschlag von Mark Byers dahingehend geändert, dass wir eine READLINE-Datei mit NULL-getrennten Zeilen in Python lesen können. Dieser Ansatz liest eine potenziell große Datei Zeile für Zeile und sollte effizienter sein. Hier ist der Python-Code (mit Kommentaren):
%Vor%Ich hoffe, es hilft.