CSV文件在Excel中出现空行问题

15
我有一个csv文件,其中包含来自sqlite3数据库的行。 我使用Python将这些行写入CSV文件。
当我使用Ms Excel打开CSV文件时,每行下面都会出现一个空白行,但在记事本中的文件没有任何空格。
有人知道为什么会发生这种情况以及如何解决吗?
编辑:在写入行之前,我对所有属性使用了strip()函数。
谢谢。
2个回答

34

您正在使用open('file.csv', 'w')-- 请尝试open('file.csv', 'wb')

Python csv模块要求在二进制模式下打开输出文件。


你的解决方案有效!非常感谢。由于CSV文件存储为文本,我认为我不需要添加二进制标志。顺便问一下,你怎么知道我没有在代码中写wb呢? - optimus
我大约一年前也遇到了同样的问题。 - robert
感谢@robert。真希望我能再给你几个赞!但愿文档能更容易地找到这些信息。相关部分:如果csvfile是文件对象,则在那些有所不同的平台上,它必须使用“b”标志打开。 - Ryan Wersal

0

我脑海中首先想到的是(仅为一个想法),您可能已经使用"\r\n"作为行分隔符(在记事本中显示为一个换行符),但是Excel希望只得到"\n"或只有"\r",因此将其解释为两个换行符。


嗨,我在写入文件之前使用strip()函数去除了所有空格。 - optimus
CSV文件的默认/通常/常见/Excel预期的行终止符是\r\n,而不是行。 - John Machin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接