如何从另一个csv文件写入csv文件的值

时间:2014-06-05 14:38:54

标签: python csv for-loop export-to-csv nested

对于index.csv文件,其第四列有十个数字,范围从1 - 5。每个数字都可以视为一个索引,每个索引对应一个filename.csv中的数字数组。

filename.csv的行号代表索引,每行有三个数字。我的问题是使用嵌套循环将filename.csv中的数字转移到index.csv

from numpy import genfromtxt  
import numpy as np  
import csv

data1 = genfromtxt('filename.csv', delimiter=',')  
data2 = genfromtxt('index.csv', delimiter=',')

f = open('index.csv','wb')  
write = csv.writer(f, delimiter=',',quoting=csv.QUOTE_ALL)

for row in data2:

    for ch_row in data1:

    if ( data2[row,3] == ch_row ):

    write.writerow(data1[data2[row,3],:])

例如,index.csv的第四列包含1,2,5,3,4,1,4,5,2,3filename.csv包含:

# filename.csv

20 30 50 
70 60 45 
35 26 77 
93 37 68 
13 08 55 

我需要的是将索引行从filename.csv写入index.csv并将这些数字存储在第5,第6和第7列:

# index.csv

#   4 5  6  7 
... 1 20 30 50 
... 2 70 60 45 
... 5 13 08 55 
... 3 35 26 77 
... 4 93 37 68 
... 1 20 30 50 
... 4 93 37 68 
... 5 13 08 55 
... 2 70 60 45 
... 3 35 26 77

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

你需要缩进最后两行。此外,看起来您正在写入您正在阅读的文件。