对于学习Python(使用v3)并尝试做我怀疑可以用一个程序完成的两件事,我是一个新手。
第一部分如下:
假定csv文件1有6列乘以数千行,但是每10行的组需要放入一个新行,实际上将有60列。
例如Input1.csv是:
Id,名称,text1,text2,text3,text4,唯一代码 ID,名称,文本1,文本2,文本4,文本4,唯一代码
(某些ID是重复的 输出1必须为:
唯一ID,名称,text1,text2,text3,text4,text5,唯一ID2,名称,text1,text2,text3 ...(60列),然后移至row2 ...
我正在使用此代码开始(但有其他想法可做):
导入csv
使用open('Input1.csv','r',encoding ='utf-8-sig',errors ='ignore')作为文件内文件,open('Output1.csv','w',encoding =' utf-8-sig')作为输出文件:
fieldnames = ['id', 'text1', 'text2', 'text3', 'text4', 'text5']
writer = csv.DictWriter(outfile, fieldnames=fieldnames)
writer.writeheader()
for i in range (0,5):
for row in csv.DictReader(infile):
for j in range (0,9):
for column in csv.DictReader(infile):
writer.writerow(column)
我试图遍历6列,然后遍历10行,然后将每行输出为60列...
跟踪显示:
回溯(最近通话最近): 文件“ C:/Users/marc/PycharmProjects/first/Convert1.py”,第12行 writer.writerow(列) 在写入行中的文件“ C:\ Users \ marc \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ csv.py”,行155 返回self.writer.writerow(self._dict_to_list(rowdict)) 文件“ C:\ Users \ marc \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ csv.py”,第151行,位于_dict_to_list中 +“,” .join([[repr(x)for mis_fields中的x]])
第2部分将把新的csv添加到另一个csv中,将这些列作为一个组插入到特定位置,并可能重新排列这些列(我正在用字段名对上面的列进行重新排列。