Skip to main content
 首页 » 编程设计

python之从多个文件中提取数据

2025年05月04日9mfrbuaa

我正在使用 python(特别是 numpy、scipy 和 matplotlib)从多个文件中读取数据。具体来说,我正在尝试提取 9 个不同点云数据集的 Z 值(.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 值。我只是坚持我将如何实际执行此操作,我当前代码的设置方式只是覆盖值。

如有任何建议/查看地点,我们将不胜感激。

请您参考如下方法:

有什么理由不能将所有值附加到一个列表中?

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]) 

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