Python 每个字符后面都有CSV逗号

Python 每个字符后面都有CSV逗号,python,csv,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:

尝试写入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
替换为

问题在于
writerows
需要一个列表列表,其中每个向内列表都是要写入的行。因为您给它一个字符串列表,所以它认为字符串中的每个字符都是csv文件中的一列

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