在Python中处理多个csv文件并添加元数据
我有一个20个文件,看起来:在Python中处理多个csv文件并添加元数据,python,pandas,csv,Python,Pandas,Csv,我有一个20个文件,看起来: Value Value2 A B C D etc. C:\User\ab\mb\432432\Out\xxxxx.col C:\User\ab\mb\787878\Out\xxxxx.col C:\User\ab\mi\3114\Out\xxxxx.col C:\User\ab\w\2312\Out\xxxxx.col 文件位于三个不同的文件夹中。2个在文件夹MI中,4个在MB中,其余在W中。 我有一个所有路径的列表。我用那个代码得
Value Value2
A B
C D
etc.
C:\User\ab\mb\432432\Out\xxxxx.col
C:\User\ab\mb\787878\Out\xxxxx.col
C:\User\ab\mi\3114\Out\xxxxx.col
C:\User\ab\w\2312\Out\xxxxx.col
文件位于三个不同的文件夹中。2个在文件夹MI中,4个在MB中,其余在W中。
我有一个所有路径的列表。我用那个代码得到它:
import os
for root, dirs, files in os.walk("C:\User\ab"):
for file in files:
if file.endswith(".col"):
print(os.path.join(root, file))
示例路径看起来:
Value Value2
A B
C D
etc.
C:\User\ab\mb\432432\Out\xxxxx.col
C:\User\ab\mb\787878\Out\xxxxx.col
C:\User\ab\mi\3114\Out\xxxxx.col
C:\User\ab\w\2312\Out\xxxxx.col
上面我只包含四个文件的路径,有20个。
我需要做的是:
我需要创建一个DF包含以上所有DFs。但我需要添加包含文件夹名和示例名的列(示例名是目录名之后路径中的数字)
因此,整个DF将具有该结构:
Value Value2 Dir Number
A B MB 432432
C D MB 432432
G E MB 787878
G E MB 787878
F O W 22222
F O W 22222
etc.
有没有一个简单的方法可以做到这一点?我尝试了很多方法,但我认为我的逻辑不正确。有人能给我一些建议吗?我怎样才能快速地做这件事?我不确定我是否正确地理解了你的问题。 如果您试图从不同文件夹获取文件,并从路径获取信息,则可以执行以下操作:
import glob
all_files = glob.glob('C:\User\ab\*\*\Out\*.col')
for file in all_files:
meta = file.split('\')
dir = meta[3]
nmbr = meta[4]
此代码段搜索相应的文件(请注意,glob
允许通配符搜索)。您可以对文件进行迭代,然后通过拆分路径从中提取所需的信息。
之后,您可以打开文件,读取每一行并将相应的信息附加到其中,然后将其保存到新的csv文件中