在没有括号的csv单元格中写入多个值
我有一个对象列表。 每个对象都有不同的属性。 其中之一是我想将这个对象导出到一个csv文件的列表
a, "1,2,3" b,"1,2,3"
以便csv在Excel程序中可读
我的代码看起来像这样:
final_list = [] for a in list: first_value = a.first_value list2 = [] for b in a.list: list2.append(b) final_list.append(first_value) final_list.append(list2) with open('file' ) as f: writer = csv.writer(f) writer.writerows(final_list) pass
这导致这个csv行与括号和引号,我不想要的
1, "['1','3','4']" 2,"['1','2','3']"
我需要每行2个值: a
和1,2,3
作为string
如果你这样做:
final_list.append(first_value) final_list.append(list2)
你创build一个包含值和列表的行。
写入时, csv
模块执行str
转换,这说明您在python中debugging时会看到string。
相反:
final_list.append(a.first_value) # string final_list.append(",".join(a.list)) # composes a coma separated string with the contents of a.list
结果:
a,"1,2,3"
(引号保护逗号,因此被视为单个单元格)