ich habe *.csv-Dateien, die ich einlesen muss. Funktioniert so weit auch, allerdings kommt es manchmal vor, das gewisse Spalten Kommentare enthalten können, die manchmal auch mehrzeilig sein können. Lasse ich mir die Zeilenenden in einem Editor mit ausgeben sieht das ganze so aus:
Code: Alles auswählen
...
wert;wert;wert;einzeiliges Kommentar;wert;wert CRLF
wert;wert;wert;hier kommt ein CR
mehrzeiliges Kommentar;wert;wert CRLF
...
Code: Alles auswählen
class CsvDialect(csv.dialect):
quotechar = str('\x07')
delimiter = str(';')
lineterminator = str('\r\n')
doublequote = False
skipinitialspace = True
quoting = csv.QUOTE_NONE
escapechar = str('\\')
Code: Alles auswählen
def read_csv_file(filename):
with open(filename, 'rb') as csvfile:
reader = csv.reader(csvfile, CsvDialect())
return [row for row in reader]