在CSV的最后一个单元格中获取新行,如何消除它?

时间:2018-02-12 02:39:37

标签: python csv

我的代码:分割每行CSV并将其保存到单独的CSV文件

import csv          
with open("PMBC_Final_Neucube.csv") as data:
    for index, line in enumerate(data):
        with open('sam{}_diet.csv'.format(index), 'w', newline='') as fw:
            writer = csv.writer(fw, delimiter=',', lineterminator='\n')
            writer.writerow(line.split(','))

所需的输出显示在图像1中,但我得到输出为图像2

enter image description here

2 个答案:

答案 0 :(得分:1)

在写入csv文件时使用rstrip()函数。

答案 1 :(得分:0)

您似乎正在获取输入CSV文件并将每行写入仅包含该行的单独编号的CSV文件。停止写入最终换行符的解决方法是将CSV行写入StringIO对象,删除换行符,然后将结果字符串写入输出文件,如下所示:

from io import StringIO        
import csv

with open('PMBC_Final_Neucube.csv') as f_input:
    csv_input = csv.reader(f_input)

    for index, line in enumerate(csv_input):
        with open('sam{}_diet.csv'.format(index), 'w', newline='') as f_output:
            row = StringIO(newline='')
            csv.writer(row).writerow(line)
            f_output.write(row.getvalue().rstrip())