Python,写入 CSV 文件有额外的空白行

Posted

技术标签:

【中文标题】Python,写入 CSV 文件有额外的空白行【英文标题】:Python, writing CSV file has extra blank rows 【发布时间】:2014-06-08 11:23:06 【问题描述】:

我有一段 python 代码应该打开(或创建)一个 CSV 文件并在其末尾附加一个新行。但是,在每个条目之间添加了一个额外的空白行。有没有办法避免这种情况?

我有大约 500 个脚本实例,它们都访问同一个文件,尽管(理论上)它们应该在不同的时间访问该文件。

def writeBest(fileName, savePath, data):

    # Create a filename
    name = "BEST_" + fileName + ".csv"

    # Create the complete filename including the absolute path 
    completePath = os.path.join(savePath, fileName)

    # Check if directory exists
    if not os.path.exists(completePath):
        os.makedirs(completePath)

    completeName = os.path.join(completePath, name)

    # Write the data to a file
    theFile = open(completeName, 'wb')
    writer = csv.writer(theFile, quoting=csv.QUOTE_ALL)
    writer.writerow(data)

    # Close the file
    theFile.close()

【问题讨论】:

什么是数据?哪种类型? 如果你想添加到 csv 文件,我想你想用ab 模式打开它,而不是wb 文件不存在需要创建 @ChrisHeadleand 如果文件不存在,'a' 模式将创建文件。 (自己测试一下。)无论如何,你能告诉我们你的 data 参数吗? @ChrisHeadleand w 将覆盖一个已经存在的文件而不是添加到它。 【参考方案1】:

问题通过 cmets 回答。问题是使用wb 模式而不是ab 模式。

【讨论】:

您可能想再解释一下:尚不清楚这如何解决您的问题。以"wb" 模式打开文件会破坏之前的内容,而不是追加,而是引入额外的空白行。【参考方案2】:

“b”选项对我有用,请查看 API 文档:https://docs.python.org/2/library/functions.html?highlight=open#open

【讨论】:

以上是关于Python,写入 CSV 文件有额外的空白行的主要内容,如果未能解决你的问题,请参考以下文章

python3 写入CSV出现空白行问题

python3 写入CSV出现空白行问题

Excel中的CSV空白行问题

Python Pandas read_excel dtype str 在读取或通过 to_csv 写入时将 nan 替换为空白 ('')

使用 Python 写入 CSV 会添加空行 [重复]

python中sals_ws和sals_wb什么意思?