我对python还不熟悉,而且学习得越快越好。我知道如何在bash中解决问题并尝试使用python。
我有一个数据文件(示例中是data_array.csv)和索引文件index.csv,在这里我想从索引文件中具有相同ID的数据文件中提取数据并存储到一个新文件Out.txt中。我还想把NA放在Out.txt中,用于那些在数据文件中没有值的ID。我知道怎么做一个专栏。但我的数据有1000多列(从1到1344)。我要你帮我写一个能更快完成的剧本。我的数据文件,索引id和建议输出如下。
数据数组.csvId 1 2 3 . . 1344
1 10 20 30 . . -1
2 20 30 40 . . -2
3 30 40 50 . . -3
4 40 50 60 . . -4
6 60 60 70 . . -5
8 80 70 80 . . -6
10 100 80 90 . . -7
索引.csvId
1
2
8
9
10
所需输出为
输出.txtId 1 2 3 . . 1344
1 10 20 30 . . -1
2 20 30 40 . . -2
8 80 70 80 . . -6
9 NA NA NA NA
10 100 80 90 . . -7
我试过了#! /usr/bin/python
import csv
with open('data_array.csv','r') as lookuplist:
with open('index.csv', "r") as csvinput:
with open('VlookupOut','w') as output:
reader = csv.reader(lookuplist)
reader2 = csv.reader(csvinput)
writer = csv.writer(output)
for i in reader2:
for xl in reader:
if i[0] == xl[0]:
i.append(xl[1:])
writer.writerow(i)
但这只适用于第一排。我希望程序能够处理我的数据文件的所有行和列。