繁体   English   中英

Python csv - 匹配特定的行和列,并管道到新文件

[英]Python csv - match a specific row and column, and pipe to new file

我有一个大的csv文件,大约有1000列(行)的大约170列的数值数据(列)。 我想要做的是将特定案例的特定值从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文件。

提前谢谢了,

假设您要查找的密钥位于“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通过dict使CSV数据更加平易近人,而不是只能通过列号访问的行。

http://docs.python.org/2/library/csv.html#csv.DictWriter

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM