我正在尝试在csv文件的现有列旁边添加一个重复列。例如,数据集看起来像这样。
A,B,C,D
D,E,F,G
然后添加一个重复的列。
A,A,B,B,C,C,D,D
D,D,E,E,F,F,G,G
以下是我尝试的代码,但显然它不起作用。
import csv
with open('in.csv','r') as csvin:
with open('out.csv', 'wb') as csvout:
writer = csv.writer(csvout, lineterminator=',')
reader = csv.reader(csvin, lineterminator=',')
goal = []
for line in reader:
for i in range(1,len(line)+1,2):
line.append(line[i])
goal.append(line)
writer.writerows(goal)
有任何提示吗?
答案 0 :(得分:1)
嗯,你可以简洁地完成以下工作
from itertools import repeat
# open the file, create a reader
for row in reader:
row_ = [i for item in row for i in itertools.repeat(item,2)]
# now do whatever you want to do with row_
答案 1 :(得分:0)
我认为
for i in range(0,len(line)):
goal.append(i);
goal.append(i);
不是最好的实施,但应该有效