我一直在努力寻找这个问题的可行答案,所以我不会深入研究我所尝试的,但我基本上正在尝试做以下事情:
1.(我有一个文件夹,里面有几个后缀相同的.txt文件(例如*.data.txt(,文件名的动态部分是*
2.(每个文件具有完全相同的数据结构,具有相同的列数和相同的标题
3.(考虑到上面的2点,我想遍历每个文件,取一个标题为"average_depth"的特定列,并生成一个新的数据帧,这些列并排连接在一起,新的标题是文件名的动态部分(*来自#1点(
希望我在这里的目标很简单,但如果有必要,我可以澄清。我已经搜索了几个关于如何做到这一点的来源,我认为直接询问可能更有效。非常感谢,我期待着测试我在这里看到的回复。
import glob
import pandas as pd
collected_columns = []
for file in glob.glob('/your/path/*.data.txt'):
# read data
df = pd.DataFrame.read_csv(file)
# extract name
id_ = file.split('/')[-1].split('.')[0]
# rename column
df.rename({'average_depth': f'average_depth_{id_}'}, axis='columns')
collected_columns.append(df[f'average_depth_{id_}'])
final_df = pd.concat(collected_columns, axis=1)
希望能有所帮助。