【问题标题】:Python CSV output two rows instead of two columnPython CSV输出两行而不是两列
【发布时间】:2017-08-22 17:14:38
【问题描述】:

我正在输出字典,请参见下面的代码。但是, out 创建了两行。而不是两列。

with open("<location of file>"+str(report_date)+".csv", 'w') as f:
    w = csv.writer(f)
    w.writerow(output_list.keys())
    w.writerow(output_list.values())

Excel 输出:

Col 1 row 1, col 2, row 1, col 3 row 1
Col 1 row 2, col2 row 2, col 3, row 2

我希望将输出显示为两列:
字典键的第 1 列一直向下
字典值的第 2 列一直向下

【问题讨论】:

  • 请修正缩进。空格在 Python 中大多是非可选的
  • 另外,请提供一个示例输入文件并修复您的示例输出。它看起来非常不一致。

标签: python csv


【解决方案1】:

您正在输出两行,因为您告诉它输出两行。这就是writerow 所做的事情,如果您调用它两次。如果要为每个项目输出一行,则需要遍历各个项目:

w = csv.writer(f)
for item in output_list.items():
    w.writerow(item)

item 将是一个包含键和值的二元元组。

【讨论】:

  • 非常感谢!那行得通。我现在看到了这个问题。每行之间可以没有空白行吗?输出包含数据之间的空白行。 @疯狂物理学家
  • @OPM_OK。除非您提供重现问题的示例 output_list,否则我无法回答这个问题。
  • 此外,传统的做法是选择能解决您的问题的答案。
猜你喜欢
  • 1970-01-01
  • 2021-01-23
  • 1970-01-01
  • 2022-12-09
  • 2011-06-23
  • 1970-01-01
  • 2021-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多