【问题标题】:How to write List of lists in csv file in python [duplicate]如何在python中的csv文件中写入列表列表
【发布时间】:2013-11-03 17:20:33
【问题描述】:

我有一个列表列表,我想将其写入 csv 文件 示例列表:

data=[['serial', 'name', 'subject'],['1', 'atul','tpa'],['2', 'carl','CN'].......]

data[0] 应该是列名 其他一切都是行数据

请给我建议一种方法。

【问题讨论】:

  • 您自己尝试过吗?你遇到了什么问题?
  • 实际上我在 excel 文件中有多个工作表,我解析了所有工作表并创建了一个列表列表。因此,当我使用您的解决方案将其写入 csv 文件时,它会为每张工作表粘贴列名
  • csv 只是写出你给它的东西。如果您看到重复的列名,请跳过每个工作表的第一个条目。

标签: python csv python-3.x


【解决方案1】:

这对于csv module来说是微不足道的:

with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerows(data)

您已经将data 中的标题作为第一行;您可以使用writer.writerows() 方法一次性写入所有行。这就是它的全部内容,真的。

【讨论】:

  • seedubbs 在他们的回答中提到,“TypeError: 'newline' is an invalid keyword argument for this function”。
  • @samkhan13:你和他们使用的是 Python 2,而不是 Python 3(注意问题标签)。请改用open('output.csv', 'wb')(因此请使用二进制模式,以便 CSV 模块可以控制写入哪些换行符)。
【解决方案2】:

当我包含 newline='' 时出现以下错误:TypeError: 'newline' is an invalid keyword argument for this function。

这是我用过的,对我来说很好用。

csv_file = open("your_csv_file.csv", "wb")
writer = csv.writer(csv_file)
writer.writerows(clean_list)

【讨论】:

  • 那是因为您使用的是 Python 2,而不是 Python 3,正如问题所标记的那样。
猜你喜欢
  • 2014-06-27
  • 1970-01-01
  • 2023-03-17
  • 2016-09-02
  • 2016-03-26
  • 2018-09-22
  • 2018-10-23
  • 2012-12-11
  • 1970-01-01
相关资源
最近更新 更多