尝试访问python脚本中的列时获取行

时间:2013-08-16 11:45:03

标签: python rows multidimensional-array multiple-columns

我遇到的问题似乎很容易解释答案。 我正在使用代码从行和列的csv文件中获取:

import csv
import os
import glob
import numpy as np

def get_data(filename):
    with open(filename, 'r') as f:
        reader = csv.reader(f)                      
        return list(reader)

all_data = []

path=raw_input('What is the directory?')       
for infile in glob.glob(os.path.join(path, '*.csv')):
     all_data.extend(get_data(infile))
a = np.array(all_data)
col=a[:,[0,1]]
print col

但结果会产生前两行而不是列?

1 个答案:

答案 0 :(得分:0)

问题可能是您的数据。验证是否正确读取了CSV数据(调试阅读器)。

当我使用以下输入文件运行脚本时:

file1.csv

foo,bar,baz
1,2,3
2,3,4
3,4,5

file2.csv

4,5,6
5,6,7
6,7,8

然后您的脚本结果如下:

$ python test.py
[['4' '5']
 ['5' '6']
 ['6' '7']
 ['foo' 'bar']
 ['1' '2']
 ['2' '3']
 ['3' '4']]

因此,我认为您的错误必须是阅读CSV文件。可能列分隔符无法正常工作。