gpt4 book ai didi

Python csv将列表写入文件

转载 作者:行者123 更新时间:2023-12-03 18:51:26 26 4
gpt4 key购买 nike

我正在编写一个脚本来编写一个列表,其中包含如下分隔的选项卡到一个 csv 文件。但我没有得到正确的输出。

out_l = ['host\tuptime\tnfsserver\tnfs status\n', 'node1\t2\tnfs_host\tok\n', 'node2\t100\tnfs_host\tna\n', 'node3\t59\tnfs_host\tok\n']

代码:
out_f = open('test.csv', 'w')
w = csv.writer(out_f)

for l in out_l:
w.writerow(l)
out_f.close()

输出 csv 文件如下所示。
h,o,s,t,    ,s,s,h, , , , , ,s,u,d,o,_,h,o,s,t, , , , , , , ,n,f,s,"
"1,9,2,.,1,6,8,.,1,2,2,.,2,0,1, ,o,k, ,n,f,s,h,o,s,t, ,o,k,"
"1,9,2,.,1,6,8,.,1,2,2,.,2,0,2, ,f,a,i,l,e,d, ,n,a, ,n,a,"
"1,9,2,.,1,6,8,.,1,2,2,.,2,0,3, ,o,k, ,n,f,s,h,o,s,t, ,s,h,o,w,m,o,u,n,t, ,f,a,i,l,e,d,"

"

我还检查了 csv.writer 选项,如分隔符、方言 = excel,但没有运气。
有人可以帮助格式化输出吗?

最佳答案

使用 out_l 中的格式,您可以将其写入文件:

out_l = ['host\tuptime\tnfsserver\tnfs status\n', 'node1\t2\tnfs_host\tok\n', 'node2\t100\tnfs_host\tna\n', 'node3\t59\tnfs_host\tok\n']

with open('test.csv', 'w') as out_f:
for l in out_l:
out_f.write(l)

正确使用 csv , out_l应该只是列的列表,让 csv模块使用制表符和换行符进行格式化:
import csv

out_l = [['host','uptime','nfsserver','nfs status'],
['node1','2','nfs_host','ok'],
['node2','100','nfs_host','na'],
['node3','59','nfs_host','ok']]

#with open('test.csv', 'wb') as out_f: # Python 2
with open('test.csv', 'w', newline='') as out_f: # Python 3
w = csv.writer(out_f, delimiter='\t') # override for tab delimiter
w.writerows(out_l) # writerows (plural) doesn't need for loop

请注意 with会自动关闭文件。

csv documentation了解打开文件以供 csv.reader 使用的正确方法或 csv.writer .

关于Python csv将列表写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40713036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com