gpt4 book ai didi

Python csv 文本操作

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:51 24 4
gpt4 key购买 nike

我想合并输入 .csv 文件中的字段以输出到 .csv 文件,其中一些包含逗号。这是我的代码,经过简化

outfile = open('output.csv', 'w')

#these values are made up for this example; normally they would be read from
#a csv and passed to the following 'combine()' function

a = "John"
b = ",Jr."

def combine(a, b):
if a == "":
pass #don't write anything if the field is empty
else:
outfile.write(a)
if b =="":
pass
else:
outfile.write(b)

如果 b 以逗号开头,我该如何输出“John, Jr.” ?我试过使用 csv.writer writerow() 但它在每个字符之间放置了一个逗号分隔符。我尝试定义一个 escapechar 但它只输出“John\”、“Jr”。有什么建议吗?

最佳答案

如果您想了解有关 CSV 的详细信息,有一个规范:https://www.rfc-editor.org/rfc/rfc4180

大体上有以下几点“包含换行符 (CRLF)、双引号和逗号的字段应包含在双引号中。”

“如果使用双引号将字段括起来,那么出现在字段内的双引号必须通过在其前面加上另一个双引号来转义。”

像 Excel 这样的实现总是将所有字段值放在双引号中。

如果你打开一个文件进行读或写你可以直接指定引用类型

mcvs = csv.writer(open('file.csv', 'wb'), quoting=csv.QUOTE_ALL)

将始终在字段值周围添加引号。

有关所有可能的值,请查看 python 文档

http://docs.python.org/library/csv.html#module-csv

关于Python csv 文本操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9389588/

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