Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python和strip/n中导入以制表符分隔的csv,并从描述字段导入_Python_Export_Import_Csv - Fatal编程技术网

在python和strip/n中导入以制表符分隔的csv,并从描述字段导入

在python和strip/n中导入以制表符分隔的csv,并从描述字段导入,python,export,import,csv,Python,Export,Import,Csv,我已经在python中尝试了几天了,我已经让它正常工作了,但是我被最后一个错误卡住了: 文件“C:\Python34\lib\csv.py”,第149行,在目录列表中 +“,”.join([repr(x)在错误的_字段中表示x])) ValueError:dict包含字段名称中不包含的字段: 以下是我的代码: import csv import sys fin = 'csvTest.txt' fout = open('test2.csv','wb') csv_file = csv.DictRe

我已经在python中尝试了几天了,我已经让它正常工作了,但是我被最后一个错误卡住了:

文件“C:\Python34\lib\csv.py”,第149行,在目录列表中 +“,”.join([repr(x)在错误的_字段中表示x])) ValueError:dict包含字段名称中不包含的字段:

以下是我的代码:

import csv
import sys

fin = 'csvTest.txt'
fout = open('test2.csv','wb')
csv_file = csv.DictReader(open(fin, 'r'), delimiter='\t', quotechar='"')

fieldnames = ['fName', 'lName', 'addr1', 'city', 'state', 'zip', 'terms', 'apptDate', 'product', 'description', 'quantity', 'price', 'total', 'taxAmt', 'invoiceNum']
csvwriter = csv.DictWriter(fout, delimiter='\t', fieldnames=fieldnames)
csvwriter.writeheader()
for row in csv_file:
    row = row['fName'], row['lName'], row['addr1'], row['city'], row['state'], row['zip'], row['terms'], row['apptDate'], row['product'],     
row['description'].replace('/n','').replace(',',''), row['quantity'], row['price'], row['total'], row['taxAmt'], row['invoiceNum']
print(row)
csvwriter.writerow(row)
fout.close()
我只是尝试导入一个csv文件,去掉所有/n,然后从描述字段中,将它们写回以制表符分隔的csv。我已经尝试了一些方法来实现这一目标,但是我在确定正确的领域时遇到了困难。这是我第一次尝试使用python实现csv


有什么想法吗?

您的长行赋值行将dictionary行对象转换为tuple对象。您看到的错误是csv库抱怨您没有向它传递dict对象。此外,压痕有点扭曲(但这可能是堆叠溢出)


这很有效!我刚刚开始这里我必须采取b标志从导入和导出文件,或者我得到了一个错误,打开它在文本模式。我很难将它粘贴到问题框中,所以我确信间距就是这样。再次感谢您这帮助我了解了我做错了什么。可能需要替换多个字符:
。替换('/n','')。替换('','','')…替换('\t','')
。就我而言,
\t
是罪魁祸首。对于其他人,即使是
\r
也可能相关。
import csv
import sys

with open('csvTest.txt', 'rb') as file_in:
    with open('test2.csv','wb') as file_out:
        csv_reader = csv.DictReader(file_in, delimiter='\t', quotechar='"')

        fieldnames = ['fName', 'lName', 'addr1', 'city', 'state', 'zip', 'terms', 
                      'apptDate', 'product', 'description', 'quantity', 'price', 
                      'total', 'taxAmt', 'invoiceNum']

        csv_writer = csv.DictWriter(file_out, delimiter='\t', fieldnames=fieldnames)
        csv_writer.writeheader()

        for row in csv_reader:
            row['description'] = row['description'].replace('/n','').replace(',','')
            print(row)
            csv_writer.writerow(row)