没有方括号的csv文件的字典列表

时间:2016-08-17 18:54:36

标签: python list csv dictionary

with open('processedData/file.tsv', 'wb') as f:
    dict_writer = csv.DictWriter(f, keys, delimiter = '\t')
    dict_writer.writeheader()
    dict_writer.writerows(hgnc_list)

通过执行上面的代码,我成功地将我的字典列表写入文件。

The catch is:词典中的某些值是列表。哪个 喜欢在没有方括号或''的情况下打印,并使用|作为分隔符而不是comma

所以输出csv文件是这样的:

column1    column2    column3 ... columnN
value11    value121|value122    value13 ... value1N1|value1N2|value1N3

而不是:

column1    column2    column3 ... columnN
value11    ['value121','value122']    value13 ... ['value1N1','value1N2','value1N3']

这可以在不重新处理字符串的情况下完成吗?

1 个答案:

答案 0 :(得分:1)

csv模块(以及一般的CSV文件)不以任何特殊方式处理列表条目等内容。如果要将列表放入CSV条目,则需要将值显式转换为字符串,存储字符串值,然后在读取数据时将它们自行解析回列表。

例如,如果你有一个字符串列表some_list,你可以用'|'.join(some_list)替换字典中的字符串来获取一个以管道分隔的字符串,然后存储该值。如果您重新读取该数据,则此类条目将被读取为单个字符串值,您必须自己将其拆分为列表。