【发布时间】:2017-08-07 22:15:22
【问题描述】:
我有一个 csv 文件,其中包含如下行:
0.10089,0,0,1,0,0,0,0,0,0,-1.8,-0.7,1999998.0,0,0,0,80,81.226,158.25,0
0.10955,0,0,2,0,0,0,0,0,0,-1.5,0.4,-4.1,0,0,0,88.127,87.784,158.47,0
我想将每一行复制3次,然后将每行中的第4个元素更改为(1,2,...),以便所有行(包括复制的行)都成为此订单的一部分
0.10089,0,0,1,0,0,0,0,0,0,-1.8,-0.7,1999998.0,0,0,0,80,81.226,158.25,0
0.10089,0,0,2,0,0,0,0,0,0,-1.8,-0.7,1999998.0,0,0,0,80,81.226,158.25,0
0.10089,0,0,3,0,0,0,0,0,0,-1.8,-0.7,1999998.0,0,0,0,80,81.226,158.25,0
0.10955,0,0,4,0,0,0,0,0,0,-1.5,0.4,-4.1,0,0,0,88.127,87.784,158.47,0
0.10955,0,0,5,0,0,0,0,0,0,-1.5,0.4,-4.1,0,0,0,88.127,87.784,158.47,0
0.10955,0,0,6,0,0,0,0,0,0,-1.5,0.4,-4.1,0,0,0,88.127,87.784,158.47,0
我知道每个逗号的索引,因此知道第 4 个元素的位置
with fileinput.input(inplace=True) as f:
for line in f:
line = line.rstrip('\n')
comma_pos_array = [i for i,x in enumerate(line) if x == ',']
for i in range(3):
print(line)
我尝试过一些方法,比如从0 to (number of lines in f)*3 创建一个连续整数数组,然后用这个新数组中的相应元素更改第 4 个元素,但它们似乎不起作用。
任何帮助将不胜感激!
【问题讨论】:
标签: python-3.5