for csv_file in csv_files: with open(os.path.join(source_folder, csv_file), 'r') as f: reader = csv.reader(f) # 遍历每行数据 for i, row in enumerate(reader): # 将第i行写入对应的新csv文件 with open(os.path.join(output_folder, f"output{i}.csv"), 'a') as out_file: # 将第i行写入对应的新csv文件 writer = csv.writer(out_file) writer.writerow(row)运行这段代码输出的csv文件每个都多出隔行空行,怎么删去
时间: 2024-02-14 21:04:17 浏览: 66
New folder (2).rar_New Folder 2_csv_it_new floder 2_pdf
这段代码中每次打开一个新的输出文件时,使用的是'a'模式,即追加模式。因此,如果执行多次写入操作,每次写入操作之间就会有一个空行。如果要避免这种情况,可以在每次写入前先检查文件是否为空,如果为空才进行写入操作,否则不进行任何操作。
可以将以下代码:
```
with open(os.path.join(output_folder, f"output{i}.csv"), 'a') as out_file:
```
修改为:
```
out_file_path = os.path.join(output_folder, f"output{i}.csv")
if os.path.exists(out_file_path) and os.path.getsize(out_file_path) > 0:
continue
with open(out_file_path, 'a') as out_file:
```
这样就可以在每次写入前检查文件是否为空,如果为空才进行写入操作,否则跳过该操作,从而避免多个文件之间出现隔行空行的情况。
阅读全文