簡體   English   中英

處理許多在python中添加元數據的csv文件

[英]Processing many csv files adding metadata in Python

我有20個文件,csv看起來是這樣的:

Value Value2
A       B
C       D
etc.

文件位於三個不同的文件夾中。 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))

示例路徑如下所示:

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的DF。 但是我需要添加帶有文件夾名稱和樣本名稱的列(樣本名稱是目錄名稱后路徑中的數字)。

因此整個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文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM