gpt4 book ai didi

Python:在 .csv 文件中写入时删除特定字符

转载 作者:行者123 更新时间:2023-12-02 07:34:49 25 4
gpt4 key购买 nike

我需要将列表作为值的字典写入 CSV 中。输入如下:

d = {'a': [1.11, 2.22, 3.33],
'b': [4.44, 5.55, 6.66],
'c': [7.77, 8.88, 9.99]}

输出应如下所示:

a    1.11    2.22    3.33
b 4.44 5.55 6.66
c 7.77 8.88 9.99

我的代码是

with open('Test.csv', 'w') as f:
for key in d.keys():
f.write("%s,%s\n"%(key,d[key]))

哪些输出:

a    [1.11    2.22    3.33]
b [4.44 5.55 6.66]
c [7.77 8.88 9.99]

如何修改代码以在存储到 csv 文件中时删除括号?我知道我可以稍后浏览该文件并删除括号,但我想在写入文件之前或同时执行此操作。

最佳答案

尝试:

for key, values in d.items():
f.write("%s %s\n"%(key, " ".join([str(v) for v in values])))

您不能只是 join() d[key],因为它们是数字,必须转换为字符串。

但是,我并不真的认为您希望它像您所说的那样以空格分隔,因为您说您想要 CSV。如果你想用逗号分隔,那么它将是:

for key, values in d.items():
f.write("%s, %s\n"%(key, ", ".join([str(v) for v in values])))

[编辑]

我应该澄清为什么你在原始代码中得到“[”和“]”。

在您的代码中,d[key] 的内容是一个列表。当你告诉 python 打印一个列表时,它会打印列表中的元素,并用逗号分隔并用左右方括号括起来,以表明正在打印的内容是一个列表。

答案通过使用分解列表来避免这种情况

for v in values

然后使用 join() 将它们重新组合在一起。

关于Python:在 .csv 文件中写入时删除特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61623139/

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