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

Python3用Xlsx2csv转xlsx为csv时__init__ TypeError如何修复?

问题修复方案

报错原因排查

  • Xlsx2csv API调用错误:你使用的xlsx2csv库中,Xlsx2csv类的构造方法仅需要传入待转换的xlsx文件路径,输出csv的路径需要调用实例的convert方法传入。你直接把两个路径都传给构造方法,加上类默认传入的self参数,总共传入了3个位置参数,和方法定义的参数数量不匹配,因此触发TypeError。
  • 代码缩进错误:你当前的文件后缀判断、转换逻辑都写在for循环之外,仅会处理遍历到的最后一个文件,无法实现批量转换的需求。

修复后完整代码

from xlsx2csv import Xlsx2csv
import os

def convert_directory(in_dir, out_dir):
    # 自动创建输出目录,避免路径不存在报错
    os.makedirs(out_dir, exist_ok=True)
    for filename in os.listdir(in_dir):
        base_name, extension = os.path.splitext(filename)
        # 逻辑缩进调整到for循环内,逐个处理文件
        if extension == ".xlsx":
            csv_filename = f"{base_name}.csv"
            # 先实例化转换对象,再调用convert方法传入输出路径
            converter = Xlsx2csv(os.path.join(in_dir, filename))
            converter.convert(os.path.join(out_dir, csv_filename))

convert_directory(
    "/media/sf_shared/all_sample_results", 
    "/media/sf_shared/all_samples_as_csv_files")

内容的提问来源于stack exchange,提问作者AnnaK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:18:04