[英]csv read columns and rows
好的,所以我在csv文件中有一些数据,看起来像这样:
[fragment1, peptide1, gene1, replicate1, replicate2, replicate3]
[fragment1, peptide2, gene1, replicate1, replicate2, replicate3]
[fragment2, peptide1, gene2, replicate1, replicate2, replicate3]
[fragment2, peptide2, gene2, replicate1, replicate2, replicate3]
[fragment3, peptide1, gene2, replicate1, replicate2, replicate3]
问题是-我需要以几种不同的方式使用此数据(三个重复):
数据文件都具有相同的列,但是行(即片段/肽/基因的数量)不同,因此我必须在不指定行号的情况下读取数据。 本质上,我需要的是每一行,每个片段和每个基因的统计信息(变异系数)。
跨行的变体仅使用三个重复项(总是一行中有三个值),当然很容易获得。 跨片段和跨基因的变体都首先计算统计信息,以便使用每个适用的复制品1,然后每个复制品2,然后复制品3(即来自未知行数的未知数量的值)的第一统计信息,然后使用先前的值进行相同的统计信息计算(即始终是三个值)。
我有一个几乎可以执行此操作的脚本,但是它很长,而且(我认为)过于复杂。 我基本上读取了文件3次,每次以描述的不同方式收集数据,通常是在列表中,有时在numpy.arrays中。
本质上,我的问题是关于如何有效地以不同方式(在速度方面和“更少代码”方面)以最佳方式最佳地读取数据。 我试图找到类似的问题,但无济于事。 对此方法的任何提示将不胜感激,并在此先感谢!
我会去numpy.loadtxt
。
import numpy as np
data = np.loadtxt(open('myfile.csv', 'rb'), delimiter=',')
# 1 Access all rows
for row in data:
print row
# Get all data in column 2 and 3
print data[:, (2,3)]
我不确定您在第2点和第3点中提出的要求。您能提供样本输入和预期输出吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.