我有一个大型的csv文件,大约有170列的数值数据(列),大约1000个人(行)。我想做的是将特定案例的特定值从csv文件传输到文本文件中。
更具体地说,我的csv文件以一列ID号(个案)开头,大约170列包含每种情况的各种数值数据点。我想迭代csv文件并为“CASE156”(例如)拉出第17列(作为示例),并将数据保存在该位置:
CASE156_column_17.txt
要最初读入数据,我使用Python csv内置为:
f =csv.reader(open('genotypes.csv','rbU'))
我试过了
rownum=0
for row in f:
if rownum=='CASE156':
print column[16]
但是,这不会产生预期的结果。如何为特定案例提取特定列的数据?
为了使问题稍微复杂一点,如果该单元格中没有数据,我想跳过它而不生成.txt文件。
非常感谢,
答案 0 :(得分:2)
假设您要查找的密钥位于“key_index”列中 然后你可以使用:
f = csv.reader(open('genotypes.csv','rbU'))
key_index = 22 # assuming that this column contains something like 'CASE156'
for rownum, row in enumerate(f):
if row[key_index] == 'CASE156':
print row[16]
阅读基本的Python文档。
您还可以使用DictReader
通过词典使CSV数据更加平易近人
而不是只能通过列号访问的行。