У меня есть файлы gzip, которые являются CSV-файлами. Поэтому я не использую модуль csv
.Как избежать запятых при чтении CSV-файлов с помощью Python?
Некоторые поля символов заключены в двойные кавычки: "
, но не все из них. Моя цель - прочитать строки и в основном скопировать данные в другой файл. Некоторые из полей, которые содержат двойные кавычки, содержат в них запятые, и мой скрипт неправильно игнорирует запятые внутри кавычек. Как установить его, чтобы Python игнорировал символы в двойных кавычках?
Это часть кода, относящегося к вопросу:
with gzip.open('gzippedfile.csv.gz', 'r') as campaign, open('output%s.csv' % today, 'wb') as output:
outputwriter = csv.writer(output, delimiter=',')
#Create variable 'count' to hold counter to skip reading the header line in the input file
count = 0
for line in campaign:
line=line.replace('\"','')
line=line.replace('\'','')
#print line
#Increment count by one each loop. This will make the loop skip the header line at the first iteration
count = count+1
if count == 1:
continue
#print today
#Create strings of the campaignid, whitelist entry, blacklist entry, and zipcode list each row
campaignid = line.split(',')[0].lstrip()
whitelist = line.split(',')[10].lstrip()
blacklist = line.split(',')[11]
zipcodes = line.split(',')[12]
Я попытался удалить replace
линии 8 и 9, но это не решает проблему.
О, не знал, что смогу это сделать. Можно ли читать каждую строку в виде строки? Кажется, что «читатель» загружает данные в список строк. – simplycoding
Вся цель объекта-читателя заключается в том, что поля в строке предварительно анализируются в список, в котором индекс списка представляет номер столбца, основанный на 0. –