我的代码:`
#!/usr/bin/python
with open("a.dat", "r") as ins:
array = []
for line in ins:
l=line.strip()
array.append(l)
a1 = array[:,1]
print a1
我想将a.dat作为数组读取,然后取第一列。出了什么问题?
答案 0 :(得分:2)
对于加载数值数据,使用numpy
而不仅仅是Python通常很有用。
import numpy as np
arr = np.loadtxt('a.dat')
print arr[:,0]
numpy
是一个非常适合加载和操作数值数据的Python库(如果使用得当,它的使用速度比使用Python列表要快得多)。此外,为了处理具有混合数据类型的表格数据,我建议使用pandas
。
import pandas as pd
df = pd.load_csv('a.dat', sep=' ', names=['col1', 'col2'])
print df['col1']
可以找到Numpy here
可以找到Pandas here
答案 1 :(得分:1)
这是错误的:a1 = array[:,1]
将值用逗号分隔,使其成为2个值的元组。你应该使用:
a1 = array[0]
要获得第一行或使用第一列:
column = [row[0] for row in array]