python csv写入两列



我正试图将python计算的输出分两列写入csv。我尝试了以下方法来实现这一点,但失败了。

import csv
with open('data.csv', 'ab') as f:
writer = csv.writer(f)
for row in [level, variable]:
writer.writerow([row])

打印输出(级别、变量(如下,

(1, 0)
(2, 0)
---
---
---
(33, 8)
(34, 7)
(35, 6)
(1, 0)
(2, 0)
---
---
---
(33, 10)
(34, 1)
(35, 2)

如何将此打印输出写入csv文件的两列?有人能回答吗?提前感谢!

csv实际上只是一个具有CommaS重编V值的文件。所以从技术上讲:

f = open("whatever.csv")
[for loop]
f.write(f"{value1}, {value2}n")
f.close()

应该做到这一点。其中value1和value2是两个值的名称。

你能试试这个吗。

import csv

with open('data.csv', 'w') as f:
writer = csv.writer(f)
writer.writerows(zip(level, variable))

你也可以试试

f=open(data.csv,'w')
for i,j in zip(level,variable):
f.write(str(i)+","+str(j))
f.close()

这只是一个想法,但您应该尝试:

  • 建立列表
  • 在你的列表中放入你的元组(python用括号标识元组(
  • 在csv中发送元组列表

这就是我的工作原理:

import csv
with open(df_path,'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=['level_col', 'variable_col'])
writer.writeheader()
for i in range(list_len):
writer.writerow({'level_col': level[i], 'variable_col': variable[i]})

最新更新