【问题标题】:Put data in CSV - column by column - in Python将数据放入 CSV - 逐列 - 在 Python 中
【发布时间】:2017-05-16 20:35:19
【问题描述】:

7 在 Windows 7 系统上。 我已经打开了一个 csv 文件并获得了一些数据。 我的目标是将数据逐列放入csv文件中。

这是我的代码:

log = open("C:\Logging\\" + date + '_' + second + "logData.csv", 'ab')
log.write('test1')
log.write('test2')
log.write('test3')
log.write('test4')
log.write('test5')

...一些其他代码...

log.write('test6')
log.write('test7')

如何将 test1、test2...test7 放在不同的列中(逐列)? 谢谢。

【问题讨论】:

  • 欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 on topichow to ask 在这里申请。
  • 具体来说,向我们展示一些示例输入数据、您想要的输出形式,以及您编写解决方案的最佳尝试。到目前为止,您所做的只是编写标题标签。
  • 一般情况下,不能逐列写入文件;您必须按顺序组装行并编写。

标签: python python-2.7 csv


【解决方案1】:

使用 csv 库

import csv

with open("C:\Logging\\" + date + '_' + second + "logData.csv", 'ab') as f:
    writer = csv.writer(f)
    writer.writerow(('Test1', 'Test2', 'Test3'))

在一些写入之间执行一些其他代码:

row = ['Test1', 'Test2', 'Test3', 'Test4', 'Test5']
# Do some other code here
row += ['Test6', 'Test7']

with open("C:\Logging\\" + date + '_' + second + "logData.csv", 'ab') as f:
    writer = csv.writer(f)
    writer.writerow(row)

【讨论】:

  • 谢谢,它适用于前三个测试。但是如何将接下来的两个测试附加到以下两列~?
  • 向该行添加更多字符串,每个新项目将在一个新列中:writer.writerow(('Test1', 'Test2', 'Test3', 'Test4', 'Test5', 'Test6', 'Test7', 'Test8'))
  • 是的,但是测试 1-5 和测试 6-7 被其他代码打断了,所以我想知道如何将它们全部附加...
  • 你的意思是你在写1-5,然后做别的事情,然后写6-7?你能先做其他事情然后写1-7吗?否则,您可以使用列表进行操作,然后在完成后将它们全部写入,我将使用该代码更新答案^
  • 谢谢@olofom,在我的代码中,csv 文件用于测试结果。所以我运行我的第一个测试并将测试结果逐列放入 csv 文件中,例如“test1, pass”。然后我为下一个测试运行以下代码,并将“test2,失败”放在“test1,通过”旁边。
猜你喜欢
  • 2012-12-17
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
  • 2017-08-19
  • 1970-01-01
  • 2022-01-09
  • 2021-07-02
  • 1970-01-01
相关资源
最近更新 更多