gpt4 book ai didi

python - csv模块自动写入不需要的回车符

转载 作者:行者123 更新时间:2023-12-01 03:03:55 24 4
gpt4 key购买 nike

当使用 pythons csv 模块创建 csv 时,如果字符串内部有逗号,它会自动在字符串末尾添加回车符,例如:

['this one will have a carriage return, at the end','this one wont']

在 Excel 工作表中,结果如下:

 |       |this on|

由于额外的回车符,它还会将字符串括在双引号中,如预期的那样。

我使用的代码是:

with open(oldfile, 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for row in data:
writer.writerow(row)

如何使用相同的数据格式创建一个 csv,如果字符串内部有逗号,则不会有回车符,但我不介意字符串被双引号括起来

以下是使用输出 .csv 诊断问题的链接:

Excel showing empty cells when importing file created with csv module

这是已接受的答案。

我已将代码更改为:

with open(oldfile, 'w', newline='', quoting=csv.QUOTE_MINIMAL) as csvfile:
writer = csv.writer(csvfile)
for row in data:
writer.writerow(row)

我现在收到错误:

TypeError: 'quoting' is an invalid keyword argument for this function

最佳答案

python内置的CSV模块有选项:csv.QUOTE_MINIMAL。当此选项作为参数添加到编写器时,当分隔符位于给定字符串中时,它会添加引号:“your text,with comma”,“other field”。这将消除回车的需要。代码是:

with open(oldfile, 'w') as csvfile: writer = csv.writer(csvfile, quoting=csv.QUOTE_MINIMAL) for row in data: writer.writerow(row)

关于python - csv模块自动写入不需要的回车符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43576434/

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