【问题标题】:Get rows when trying to access columns in a python script尝试访问 python 脚本中的列时获取行
【发布时间】:2013-08-16 11:45:03
【问题描述】:

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

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

【问题讨论】:

    标签: python rows multidimensional-array multiple-columns


    【解决方案1】:

    问题可能出在您的数据上。验证 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 文件有关。可能是列分隔符不能正常工作。

    【讨论】:

    • 非常感谢,现在一次运行一个文件,似乎可以工作
    猜你喜欢
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多