我正在使用 Python3,我想从几个 CSV 文件加载数据。 每个 CSV(一个测量值)有 3 列(3 个不同的物理量)。我想将每个数量加载到 3 个单独的变量上。对于一个 CSV 文件,这非常简单,我使用了:TIME,CH1,CH2 = loadtxt(file_path,usecols=(3,4,5),delimiter=',',skiprows=2,unpack=True)它工作正常。现在我想扩展这个过程,以便我可以加载几个 CSV 文件。每个数组都是二维的,每一列代表一个 CSV 文件。我将有 3 个二维数组,而不是有几个带有三个变量的 CSV,这对于数据分析来说更加方便。我想我可以尝试这样的事情:TIME = matrix(zeros((20480,len(file_path)))) # 20480 length of each columnCH1 = matrix(zeros((20480,len(file_path)))) # len(file_path) number of CSV filesCH2 = matrix(zeros((20480,len(file_path))))for k in range(0,len(file_path)): # reading each CSV file TIME[:,k],CH1[:,k],CH2[:,k] = loadtxt(file_path[k],usecols=(3,4,5),delimiter=',',skiprows=2,unpack=True)但它告诉我:ValueError: could not broadcast input array from shape (20480) into shape (20480,1)最后,我希望变量看起来像这样:TIME = matrix([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.], ..., [0., 0., 0.], [0., 0., 0.], [0., 0., 0.]])每一列来自一个不同的 CSV 文件。我认为这是一个很常见的问题,但我并不真正了解数组在 Python 中的工作原理。我从 Matlab 得到了这个想法,它非常简单,但在这里我不知道为什么用 TIME[:][:] 索引数组不起作用。你知道我怎么做吗?谢谢。
添加回答
举报
0/150
提交
取消