0

我遇到了一个问题,似乎答案很容易解释。我正在使用代码从具有行和列的 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

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

4

1 回答 1

0

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

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

文件 1.csv

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

文件2.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 文件有关。也许列分隔符无法正常工作。

于 2013-08-16T12:35:44.520 回答