每个字符python之后的CSV逗号

时间:2016-04-14 01:57:31

标签: python csv

尝试写入csv文件一小时。输出问题:每个字符后面都有一个逗号。我不确定为什么会发生这种情况,因为我之前已多次这样做了

  id_list = []

    with open(outfile1, 'r') as f:
        reader = csv.reader(x.replace('\0','') for x in f)

        for row in reader:
            temp = row
            try:
                id = temp[3]
                id_list.append(id)

            except (IndexError, csv.Error, KeyError) as e:
                pass

    with open(results1, 'w') as f:
        writer = csv.writer(f)
        for id in id_list:
            try:
                prov_data = getData()
                if prov_data is None:
                    continue
                fab =  prov_data['results'][0]['fab']
                man = prov_data['results'][0]['man']
                serv_type = prov_data['results'][0]['serv']        
                writer.writerows([str(id), str(fab), str(man), str(serv_type)])
            except (IndexError, KeyError,csv.Error) as e:
                pass

1 个答案:

答案 0 :(得分:5)

writerows替换为writerow

问题是writerows需要一个列表列表,其中每个内部列表都是要写入的行。由于你给它一个字符串列表,它认为字符串中的每个字符都是csv文件中的一列。

请注意,您还没有在第二个for循环中使用id,而您正在打开一个名为outfile1的文件进行阅读,因此您可能需要在此重新考虑您的姓名。我猜您想要用0替换第二个for循环中的id,但我不确定。