#python #python-2.7 #csv
#python #python-2.7 #csv
Вопрос:
Итак, заголовок объясняет мой вопрос — пожалуйста, смотрите Изображение для уточнения.
Я пробовал исправления из нескольких вопросов здесь, но безрезультатно, так что вот мой код:
def csv_writer(file_a, file_b):
with open('Comparison.csv', 'wb') as csv_file:
writer = csv.writer(csv_file, delimiter=',', escapechar=' ', lineterminator='n', quoting=csv.QUOTE_NONE)
line = map(compare, file_a.master_list, file_b.master_list)
for line in line:
if line != None:
writer.writerow(line)
else:
del line
Данные для line
строки 6 представляют собой список в следующем формате:
['20,', 'start,', '1000,', '1002']
.
Я предполагаю, что моя проблема связана с escapechar=' '
, но, безуспешно перепробовав множество различных вариантов, я в растерянности.
Комментарии:
1. Вы пробовали открывать файл CSV в текстовом редакторе, а не в Excel? Вызывает ли это ту же проблему?
2. Если в ваших данных и использовании есть запятые
QUOTE_NONE
, они будут интерпретироваться как разделители.
Ответ №1:
Я считаю, что происходит то, что вы получаете два ,
символа между каждым элементом данных.
Например, в ['20,', 'start,', '1000,', '1002']
каждый элемент соединяется с a ,
из-за delimiter=','
опции. Это означает, что ,
повторяется, и в итоге вы получите:
20,,start,,1000,,1002
Обратите внимание, что между каждым из элементов, которые вы хотите, есть пустой элемент.
Вероятно, вы можете исправить это, заменив delimiter=','
на delimiter=''
, поскольку у вас уже есть ,
символ и вам не нужен другой.
Надеюсь, это поможет!