【问题标题】:Create a csv with multiple entries in list在列表中创建一个包含多个条目的 csv
【发布时间】:2019-10-08 02:26:07
【问题描述】:

我正在使用 csv 包生成带有列表的 csv,并使用“zip”来连接同一索引处的两个列表。现在,如果变量“名称”有列表,则意味着每个“文件”的多个名称,并且想要在每个相应的行中添加。只有每个文件可以有多个名称。

变量文件和列表是列表:

'file' 中的一个元素连接到 'name' 的一个元素,但现在 'name' 的一个元素是一个列表,但希望它位于 csv 的不同列中。

with open('output.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(zip(file, name))

下面是电流输出

1.txt,"['XYZ', 'ABC', 'PQR']"
2.txt,"['rtgs', 'gfd']"

以下是预期的

1.txt,'XYZ', 'ABC', 'PQR'
2.txt,'rtgs', 'gfd'

所以我希望第二列中的每个值都有单独的列

【问题讨论】:

  • 请举例说明您的数据是什么样的以及您希望转换后的数据是什么样的

标签: python-3.x list csv


【解决方案1】:

您必须将列表列表展平为字符串列表

name = [', '.join(n) for n in name] 
writer.writerows(zip(file, name))

或者只是使用循环并单独编写每一行

for n, names in zip(file, name):
    writer.writerow([n, ', '.join(names))] 

注意:将逗号放在 CSV 的列中并不是最好的主意

【讨论】:

    猜你喜欢
    • 2014-09-11
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2020-08-23
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    相关资源
    最近更新 更多