我有一个由音频文件组成的非结构化数据集。如何遍历给定目录中的所有文件(包括子文件夹中的所有文件)并根据文件名标记它们,然后将此信息存储在CSV文件中?
我希望CSV文件看起来像这样 CSV File:
答案 0 :(得分:1)
目的是我想得到 文件名并以我想要的方式(对于我的所有文件)创建标签,并 然后将此信息保存到一个csv文件中
您可以使用glob和pandas to_csv()
来完成此任务,即:
b
示例arr[i]
:
index = arr.index(min(arr[i:]))
a[i], a[index] = a[index], a[i]
注意:
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
,它是创建多种类型的{{ 3}}。如果可以的话,我会建议您学习熊猫。