原代码:
import csv
import os
# 2016-01-01 周五
i = 4
with open(os.path.join(os.path.dirname(__file__), "data/weekend.csv")) as csvFile:
rows = csv.reader(csvFile)
with open(os.path.join(os.path.dirname(__file__), "data/test.csv"), 'w') as f:
writer = csv.writer(f)
for row in rows:
row=list(row)
if i > 5:
row.append("1") # 周末为1
else:
row.append("0") # 工作日为0
i = i % 7 + 1
writer.writerow(row)
目的是将从2016-01-01至2018-05-31的日期贴上标签,工作日为0,周末为1。代码运行后结果如下,会带有空余行:

解决方案:在open的时候加上 newline=”” 这个参数。
修改后的代码:
import csv
import os
# 2016-01-01 周五
i = 4
with open(os.path.join(os.path.dirname(__file__), "data/weekend.csv")) as csvFile:
rows = csv.reader(csvFile)
with open(os.path.join(os.path.dirname(__file__), "data/test.csv"), 'w',newline='') as f:
writer = csv.writer(f)
for row in rows:
row=list(row)
if i > 5:
row.append("1") # 周末为1
else:
row.append("0") # 工作日为0
i = i % 7 + 1
writer.writerow(row)
修改后运行结果:

本文介绍了一个简单的Python脚本,用于将2016-01-01至2018-05-31之间的日期标记为工作日或周末,并解决了输出文件中出现多余空白行的问题。
6341

被折叠的 条评论
为什么被折叠?



