我现在使用的是csv软件包,每当我写入一个新的csv文件并用excel打开它时,我将在每两行之间找到一个空行。

filereader = csv.reader(open("tests.csv", "r"), delimiter=",")
filewriter = csv.writer(open("test_step1.csv", "w"), delimiter=",")
#Delete header
for row in filereader:
    if row[0].isdigit():
        filewriter.writerow(row)

最佳答案

您需要以wb模式打开文件,尝试:

import csv

filereader = csv.reader(open("tests.csv", "r"), delimiter=",")
filewriter = csv.writer(open("test_step1.csv", "wb"), delimiter=",", newline="")
#Delete header
for row in filereader:
    if row[0].isdigit():
        filewriter.writerow(row)

csv.writer直接将\r\n 写入文件。

如果未在binary mode中打开文件,它将写入\r\r\n ,因为在Windows文本模式下会将每个\n 转换为\r\n

编辑:

对于python 3,必须根据this answernewline=""添加到 csv.writer

关于python - 在python中使用writer后行之间的空白空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16864683/

10-11 23:14
查看更多