簡體   English   中英

如何創建根據文件名標記非結構化數據集的 csv 文件

[英]How to create a csv file that labels unstructured dataset according to filenames

我有一個由音頻文件組成的非結構化數據集。 如何遍歷給定目錄中的所有文件(包括我的子文件夾中的所有文件)並根據文件名標記它們,然后將此信息存儲在 CSV 文件中?

我希望 CSV 文件看起來像這個CSV 文件

在此處輸入圖片說明

目的是我想獲取文件名並按照我想要的方式創建標簽(對於我的所有文件),然后將此信息保存在一個 csv 文件中

您可以使用globpandas to_csv()來完成此任務,即:

from os import path
from glob import glob
import pandas as pd

f_filter = ["mp3", "ogg"] # a list containing the desired file extensions to be matched
m = [] # final match list

for f_path in glob('D:/museu_do_fado/mp3/**', recursive=True): # loop directory recursively
    f_name = path.basename(f_path) # get the filename
    f_ext = f_name.split(".")[-1].lower() # get the file extension and lower it for comparison.

    if f_ext in f_filter: # filter files by f_filter 

        label = "Your choice"
        #label = f_name[0] + f_ext[-1] # as per your example, first char of file_name and last of file_ext
        m.append([f_path, f_name, f_ext, label]) # append to match list
        #print(f_path, f_name, f_name, label)

df = pd.DataFrame(m, columns=['f_path', 'f_name', 'f_ext', 'label']) # create a dataframe from match list
df.to_csv("my_library.csv", index=False) # create csv from df

示例csv

f_path,f_name,f_ext,label
D:\museu_do_fado\mp3\MDF0001_39.mp3,MDF0001_39.mp3,mp3,Your choice
D:\museu_do_fado\mp3\MDF0001_40.mp3,MDF0001_40.mp3,mp3,Your choice
...

筆記:

  1. Pandas允許多種導出格式,包括上面示例中使用的to_json()to_pickle()to_csv() ,它是一個很棒的庫,可以為您的庫創建多種類型的數據分析/可視化 如果可以,我絕對建議您學習熊貓。
  2. 這個答案應該給你一個起點,如果有問題,請確保你閱讀文檔,GL。

暫無
暫無

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

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