在没有括号的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个值: a1,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" 

(引号保护逗号,因此被视为单个单元格)