Excel中的CSV空白行问题
Posted
技术标签:
【中文标题】Excel中的CSV空白行问题【英文标题】:Csv blank rows problem with Excel 【发布时间】:2011-05-06 14:04:17 【问题描述】:我有一个 csv 文件,其中包含来自 sqlite3 数据库的行。我使用 python 将行写入 csv 文件。
当我用 Excel 女士打开 csv 文件时,每行下方都会出现一个空白行,但记事本上的文件很好(没有任何空白)。
有谁知道为什么会发生这种情况以及我该如何解决?
编辑:在写一行之前,我对所有属性都使用了 strip() 函数。
谢谢。
【问题讨论】:
【参考方案1】:我想到的第一个想法(只是一个想法)是您可能已使用“\r\n”作为行分隔符(在记事本中显示为一个 linebrak),但 excel 预计只会得到“\n”或只有“\r”,因此它将其解释为两个换行符。
【讨论】:
嗨,我在写入文件之前使用 strip() 函数删除了所有空格 CSV 文件的默认/通常/常见/预期的 Excel 行(非行)终止符是\r\n
【参考方案2】:
您正在使用open('file.csv', 'w')
--试试open('file.csv', 'wb')
。
Python csv 模块要求以二进制模式打开输出文件。
【讨论】:
您的解决方案奏效了!非常感谢您。由于 csv 文件存储为文本,我认为我不需要添加二进制标志。顺便说一句,你怎么不看代码就知道我没有写 wb? 大约一年前我遇到了同样的问题。 谢谢@robert。希望我能给你更多的赞成票!我希望文档使这些信息更容易找到。相关栏目:If csvfile is a file object, it must be opened with the ‘b’ flag on platforms where that makes a difference.
以上是关于Excel中的CSV空白行问题的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas read_excel dtype str 在读取或通过 to_csv 写入时将 nan 替换为空白 ('')