如何用Python将指定文件夹中WAV文件名写入Pandas DataFrame?
实现方法
以下是具体的Python代码实现,核心思路是遍历目标文件夹筛选出所有.wav文件,再将其信息存入Pandas DataFrame:
import os import pandas as pd # 替换为你的文件夹实际路径 folder_path = "/path/to/your/target/folder" # 遍历文件夹,筛选所有.wav格式文件(兼容大小写后缀) wav_files = [file for file in os.listdir(folder_path) if file.lower().endswith(".wav")] # 创建基础DataFrame,每行对应一个.wav文件 df = pd.DataFrame({"wav_filename": wav_files}) # 可选:添加文件完整路径列,方便后续调用文件 df["full_file_path"] = df["wav_filename"].apply(lambda x: os.path.join(folder_path, x)) # 验证生成的DataFrame行数 print(f"生成的DataFrame行数:{len(df)}")
扩展与优化说明
- 获取更多文件属性:如果需要文件大小、修改时间等信息,可以扩展代码:
# 添加文件大小(单位:字节) df["file_size_bytes"] = df["full_file_path"].apply(os.path.getsize) # 添加文件最后修改时间(转换为可读格式) df["last_modified_time"] = df["full_file_path"].apply(os.path.getmtime).apply(pd.to_datetime, unit='s') - 递归遍历子文件夹:如果目标文件夹包含子文件夹且需要纳入.wav文件,改用
os.walk实现递归遍历:wav_files = [] for root, _, files in os.walk(folder_path): for file in files: if file.lower().endswith(".wav"): wav_files.append(os.path.join(root, file)) df = pd.DataFrame({"full_file_path": wav_files})
注意事项
- 务必替换
folder_path为你实际的文件夹路径。 - 如果最终行数与460不符,检查文件夹内是否存在隐藏的.wav文件,或是否有未被遍历的子文件夹(若需要递归遍历则启用对应代码)。
内容的提问来源于stack exchange,提问作者PineNuts0
相关产品推荐
相关产品推荐

