Sto provando a scrivere un programma che guarda un file .CSV (input.csv) e riscrive solo le righe che iniziano con un determinato elemento (corrected.csv), come elencato in un file di testo (output.txt)."Riga contiene byte NULL" nel lettore CSV (Python)
Questo è ciò che il mio programma si presenta come in questo momento:
import csv
lines = []
with open('output.txt','r') as f:
for line in f.readlines():
lines.append(line[:-1])
with open('corrected.csv','w') as correct:
writer = csv.writer(correct, dialect = 'excel')
with open('input.csv', 'r') as mycsv:
reader = csv.reader(mycsv)
for row in reader:
if row[0] not in lines:
writer.writerow(row)
Purtroppo, continuo a ricevere questo errore, e non ho idea di cosa si tratta.
Traceback (most recent call last):
File "C:\Python32\Sample Program\csvParser.py", line 12, in <module>
for row in reader:
_csv.Error: line contains NULL byte
credito a tutte le persone here per anche per farmi a questo punto.
Solo una supposizione, ma suona come il file input.csv contiene una riga vuota (MEBE alla fine?). Prova a cercare nel file csvParser.py per quel testo di eccezione. –
In realtà ho appena passato il file input.csv e mi sono liberato di ogni spazio vuoto ... ancora senza fortuna (stesso errore). –
Per individuare il numero di riga, suggerisco di introdurre una variabile contatore e di incrementarla all'interno del ciclo '' for row in reader''. – codeape