You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何实现接收文件路径的CSV转EXCEL可调用封装函数

CSV转Excel可复用封装函数实现

首先需要安装依赖库,执行以下命令完成安装:
pip install pandas openpyxl

封装完成的函数代码

import pandas as pd
import os

def csv_to_excel(csv_path: str, excel_path: str = None) -> None:
    """
    CSV文件转Excel文件
    :param csv_path: 待转换的CSV文件绝对路径/相对路径
    :param excel_path: 输出的Excel文件路径,不传则默认与CSV同目录,后缀改为xlsx
    """
    # 未指定输出路径时自动生成默认输出路径
    if not excel_path:
        excel_path = os.path.splitext(csv_path)[0] + ".xlsx"
    
    try:
        # 读取CSV文件,可根据实际编码调整encoding参数
        df = pd.read_csv(csv_path, encoding='utf-8')
        # 写入Excel文件,默认不保留索引列
        df.to_excel(excel_path, index=False, engine='openpyxl')
        print(f"转换完成,输出文件路径:{excel_path}")
    except FileNotFoundError:
        print(f"错误:未找到目标CSV文件 {csv_path}")
    except PermissionError:
        print(f"错误:无文件读写权限,请检查路径是否被占用或权限配置")
    except Exception as e:
        print(f"转换过程出错:{str(e)}")

使用示例

# 示例1:使用默认输出路径
csv_to_excel("./data/销售数据.csv")

# 示例2:自定义输出Excel路径
csv_to_excel("./data/销售数据.csv", "./output/2024年销售数据汇总.xlsx")

注意事项

  • 若CSV为GBK/GB2312编码,可修改pd.read_csv的encoding参数为gbk避免乱码
  • 若需要保留CSV的索引列,可将to_excel的index参数改为True
  • 若需要批量转换目录下的所有CSV文件,可在此函数基础上扩展目录遍历逻辑,批量完成转换

内容的提问来源于stack exchange,提问作者Χρήστος Γουμενίδης

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 13:15:01