在Python中处理多个csv文件并添加元数据

在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中。 我有一个所有路径的列表。我用那个代码得

我有一个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中。 我有一个所有路径的列表。我用那个代码得到它:

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文件中