Python 如何循环浏览多个csv文件并将其内容输出到一个数组中?
我在python中工作,试图从多个LAZ文件中获取x、y、z坐标,并将它们放入一个数组中,用于另一个分析。我正在尝试自动化这项任务,因为我有大约2000个文件要转换成一个甚至10个数组。这个示例涉及两个文件,但我无法使循环正常工作。我认为我没有正确地命名变量。下面是我一直试图编写的示例代码(请注意,我对编程非常陌生,如果这是一个糟糕的代码,请道歉) 创建las文件列表,然后将它们转换为数组——尝试更好的自动化Python 如何循环浏览多个csv文件并将其内容输出到一个数组中?,python,arrays,loops,csv,numpy,Python,Arrays,Loops,Csv,Numpy,我在python中工作,试图从多个LAZ文件中获取x、y、z坐标,并将它们放入一个数组中,用于另一个分析。我正在尝试自动化这项任务,因为我有大约2000个文件要转换成一个甚至10个数组。这个示例涉及两个文件,但我无法使循环正常工作。我认为我没有正确地命名变量。下面是我一直试图编写的示例代码(请注意,我对编程非常陌生,如果这是一个糟糕的代码,请道歉) 创建las文件列表,然后将它们转换为数组——尝试更好的自动化 此块读取两个文件,但用文件列表中第二个文件的结果填充VegListCoords。我需要
此块读取两个文件,但用文件列表中第二个文件的结果填充
VegListCoords
。我需要它来保存双方的记录。如果这是一种可怕的方式,我非常愿意接受一种新的方式。您通过在上次打开的文件中指定值来不断覆盖VegListCoords
相反,请在开始时初始化:
VegListCoords = []
并改为:
VegListCoords.append(np.vstack((Veg.x, Veg.y, Veg.z)).transpose())
如果您希望在最后将它们放在一个numpy数组中,请使用
np。连接非常感谢您的回复!在开始for循环之前,您的意思是在开始时进行初始化(但仍在for循环内(如此缩进))还是定义VegListCoords=[]?在开始for循环之前,否则您将遇到相同的问题,每次迭代时都会不断重新初始化是!!!成功了!我正在努力学习python,但从未上过课。如果我可能会问,为什么VegListCoord=[]创建了一个for循环可以填充的房子,但这在我的原始脚本中没有发生?是不是因为原始文件的编写方式,它只指示用上次读取的x y z点填充它?但将其概括为VegListCoords=[]为两者提供了栖身之所?如果这是太多,我理解,真的非常感谢你的有益建议!!!这是因为您使用了VegListCoords.append
而不是VegListCoords=
。您正在为同一变量指定新值,因此每次都会删除上次指定的值。我们通过使用一个列表来改变这一点,并向该列表添加(而不是赋值)新值。
VegListCoords.append(np.vstack((Veg.x, Veg.y, Veg.z)).transpose())