从多个文件中提取数据

时间:2012-11-12 22:49:04

标签: python

我正在使用python(特别是numpy,scipy和matplotlib)来读取多个文件中的数据。具体来说,我正在尝试提取Z值9个不同的点云数据集(.ply格式:X,Y,Z,R,G,B)。

使用提取的Z(或高度值),我试图制作高度的相对频率直方图,其中包含9个文件中每个bin的平均相对频率,标准偏差和置信区间。

我有一个工作代码为单个文件执行此操作,但我很难尝试将其扩展为使用9个文件。我可以简单地用多行冗余代码来暴力破解,但我试图提高效率。

我有一些代码效果:

filelist = os.listdir('path to 9 ply files')
   for files in filelist:
   CAM_XYZ = loadtxt(files,skiprows = 14, usecols = (0,1,2))
   CAMt    = transpose(CAM_XYZ)
   CAM_Z   = CAMt[2]

我想从每个文件中提取Z值/列,然后将它们附加到另一个数组。理想情况下,这个最终数组将有9列,每个文件的Z值。我只是坚持我将如何实际执行此操作,我的当前代码的设置方式只是覆盖了值。

非常感谢任何建议/观看的地方。

1 个答案:

答案 0 :(得分:1)

您有什么理由不能将所有值都附加到单个列表中吗?

filelist = os.listdir('path to 9 ply files')
z_values = []
for files in filelist:
  CAM_XYZ = loadtxt(files,skiprows = 14, usecols = (0,1,2))
  CAMt = transpose(CAM_XYZ)
  z_values.append(CAMt[2])

这似乎是最简单的解决方案。