我现在使用的是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 answer将
newline=""
添加到 csv.writer 关于python - 在python中使用writer后行之间的空白空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16864683/