我试图从一个包含12.txt文件的目录中提取数据。每个文件包含我要提取的3列数据(X,Y,Z)。我想在一个df(InforDF)中收集所有数据,但到目前为止,我只成功地创建了一个包含所有X、Y和Z数据的df。这是我的代码:
import pandas as pd
import numpy as np
import os
import fnmatch
path = os.getcwd()
file_list = os.listdir(path)
InfoDF = pd.DataFrame()
for file in file_list:
try:
if fnmatch.fnmatch(file, '*.txt'):
filedata = open(file, 'r')
df = pd.read_table(filedata, delim_whitespace=True, names={'X','Y','Z'})
except Exception as e:
print(e)
我做错什么了?在
我想您需要^{} 来选择所有文件,在} :
list comprehension
中创建DataFrames
dfs
的列表,然后使用^{df
解决方案:在循环之前创建一个空的数据帧
InfoDF
,然后使用append或{a2}来填充更小的df
这一行在循环的每次迭代中替换
df
,这就是为什么在程序的末尾只有最后一个。在您可以做的是将所有的数据帧保存在一个列表中,并在末尾连接它们
^{pr2}$或者,您可以编写它:
相关问题 更多 >
编程相关推荐