У меня есть текстовый файл со списком строк.
Я хочу найти в файле .csv строки, начинающиеся с этих строк, и поместить их в новый файл .csv.
В этом случае текстовый файл называется «output.txt», исходный файл .csv - «input.csv», а новый файл .csv - «corrected.csv».
Код:
import csv
file = open('output.txt')
while 1:
line = file.readline()
writer = csv.writer(open('corrected.csv','wb'), dialect = 'excel')
for row in csv.reader('input.csv'):
if not row[0].startswith(line):
writer.writerow(row)
writer.close()
if not line:
break
pass
Ошибка:
Traceback (most recent call last):
File "C:\Python32\Sample Program\csvParser.py", line 9, in <module>
writer.writerow(row)
TypeError: 'str' does not support the buffer interface`
Новая ошибка:
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
Проблема заключалась в том, что файл CSV был сохранен с вкладками вместо запятых, теперь появилась новая проблема:
Traceback (most recent call last):
File "C:\Python32\Sample Program\csvParser.py", line 13, in <module>
if row[0] not in lines:
IndexError: list index out of range
Файл CSV содержит более 500 записей данных ... это имеет значение?