![](/img/trans.png)
[英]Can I speed up my reading and processing of many .csv files in python?
[英]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.