gpt4 book ai didi

python - 生成 CSV 和空行

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:41 26 4
gpt4 key购买 nike

我正在生成和解析 CSV 文件,我注意到一些奇怪的事情。

生成 CSV 时,末尾总是有一个空行,这会导致后续解析时出现问题。

我要生成的代码如下:

with open(file, 'wb') as fp:
a = csv.writer(fp, delimiter=",", quoting=csv.QUOTE_NONE, quotechar='')
a.writerow(["Id", "Builing", "Age", "Gender"])

results = get_results()

for val in results:
if any(val):
a.writerow(val)

它不会通过命令行显示,但我确实在我的 IDE/文本编辑器中看到了它

有谁知道为什么会这样?

会不会是空格?

最佳答案

是行终止符的问题吗?它可以像更改一行一样简单:

a = csv.writer(fp, delimiter=",", quoting=csv.QUOTE_NONE, quotechar='', lineterminator='\n')

我怀疑是这样,因为我知道 csv.writer 默认使用回车 + 换行符 ("\r\n") 作为行终止符。您用来读取文件的程序可能只需要一个换行符(“\n”)。这在 *nix 和 Windows 之间来回切换文件时很常见。

如果这不起作用,那么您用来读取文件的程序似乎期望最后一行没有行终止符,我不确定 csv 模块是否支持它。为此,您可以将 csv 写入 StringIO,“strip()”它,然后写入您的文件。

此外,由于您没有引用任何内容,是否有理由使用 csv?为什么不:

with open(file, 'wb') as fp:
fp.write("\n".join( [ ",".join([ field for field in record ]) for record in get_results()]))

关于python - 生成 CSV 和空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33002706/

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