为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 csv_write 逐列写入和保存值(数组)

如何使用 csv_write 逐列写入和保存值(数组)

慕田峪7331174 2022-06-22 19:47:59
使用 open('kp_insitu.csv', 'w', newline='') 作为我的文件:     for i in range(5):        Arden # it is array of 100 elements        wr = csv.writer(myfile,delimiter=',')        for word in Arden:            wr.writerow([word]) 这些值(5 个数组值)在 csv 文件中连续打印,而不是逐列打印。
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超8个赞

新鲜的答案。


我不得不猜测你的“Arden”变量是什么样的。它可能是 100 个值的一维序列(列表或元组)。


您的第一个问题是您使用 for 循环(第 4 行)将 Arden 分开,然后将每个值写入其自己的行,并将每个值包装在列表中(第 5 行)。所以,目前,您在 CSV 文件中得到一列值,对吗?


您的第二个问题不是必须解决的,但您可能应该解决。创建一个 CSV Writer 对象并使用它来处理整个文件,而不是为每一行数据创建一个 CSV Writer 对象(第 3 行)。


工作代码,基于我对您要执行的操作的最佳猜测:


import csv

filename = "test.csv"

f = open(filename, "w")

wr = csv.writer(f, delimiter=",")

for i in range(5):

    data = list(range(10*i, 10*i+9)) # one row of mock data

    wr.writerow(data)

f.close()

该文件test.csv如下所示:


0,1,2,3,4,5,6,7,8

10,11,12,13,14,15,16,17,18

20,21,22,23,24,25,26,27,28

30,31,32,33,34,35,36,37,38

40,41,42,43,44,45,46,47,48


查看完整回答
反对 回复 2022-06-22
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

您没有显示太多代码,所以我必须进行一些猜测。

您似乎正在创建 CSV 写入器对象五次。那是你要的吗?我认为您正在重复覆盖您的文件,并且您应该在进入循环之前创建它。

您还隐藏了创建 Arden 的所有细节。您是否要附加到不断增长的对象的末尾?如果您想要五个单独的行,则需要单独生成每一行。


查看完整回答
反对 回复 2022-06-22
  • 2 回答
  • 0 关注
  • 325 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号