如何使用Python批量将多个Parquet文件转换为独立CSV文件
Parquet批量转CSV可复用代码
前置依赖
先安装需要的第三方库,终端执行命令:pip install pandas pyarrow
pyarrow是pandas读取parquet文件的依赖库,也可以替换为fastparquet。
可直接复用代码
import os import pandas as pd # -------------------------- 请修改以下配置参数 -------------------------- # 存放parquet文件的文件夹路径,Windows系统路径要加r前缀,比如r"C:\Users\xxx\parquet_folder" parquet_dir = "/path/to/your/parquet/folder" # 输出CSV的保存路径,默认是当前用户桌面,不需要修改可以不动 output_dir = os.path.expanduser("~/Desktop") # ------------------------------------------------------------------------ # 遍历目标文件夹下所有文件 for filename in os.listdir(parquet_dir): # 只处理后缀为.parquet的文件 if filename.endswith(".parquet"): # 拼接parquet文件的完整读取路径 parquet_path = os.path.join(parquet_dir, filename) # 生成对应的CSV文件名,替换后缀 csv_filename = os.path.splitext(filename)[0] + ".csv" # 拼接CSV的完整保存路径 csv_path = os.path.join(output_dir, csv_filename) # 读取parquet文件 df = pd.read_parquet(parquet_path) # 导出为CSV,index=False表示不导出pandas自带的行索引,encoding指定为utf-8-sig兼容Excel直接打开 df.to_csv(csv_path, index=False, encoding="utf-8-sig") print(f"已完成转换:{filename} -> {csv_filename}") print("所有文件转换完成")
注意事项
- 如果单个parquet文件体积超过1G,可使用分块读取的方式避免内存溢出,对应修改读取和写入逻辑即可
- 如果不需要兼容Excel打开,可以把encoding参数改为
utf-8减小文件体积 - 执行代码前请确保你对parquet_dir路径有读取权限,对桌面路径有写入权限
内容的提问来源于stack exchange,提问作者ryan1992
相关产品推荐
相关产品推荐

