我得到一个模块找不到错误,而试图使用转换从csvkit库

qlckcl4x  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(88)

我正在尝试通过批量转换方法将文件从CSV格式转换为xlsx。我需要将一个文件夹中的所有CSV文件一次性转换为xlsx。这里给出了我使用的代码的相关部分。

#import the library
from csvkit import convert

 #Convert to xlsx
 with open(csv_path,'rb') as csv_file:
    with open(xlsx_path,'wb') as xlsx_file:
        conv(csv_file,xlsx_file,'xlsx',encoding = 'utf-8')

字符串
这给了我以下错误

TypeError                                 Traceback (most recent call last)
    Cell In[10], line 29
         27         with open(csv_path,'rb') as csv_file:
         28             with open(xlsx_path,'wb') as xlsx_file:
    ---> 29                 conv(csv_file,xlsx_file,'xlsx',encoding = 'utf-8')
         31         print(f"Converted {file} to {xlsx_file}")
         33 print("Conversion complete!")

    TypeError: 'module' object is not callable


可以用这种方法将CSV转换为XLSX吗?如果问题出在方法上,或者代码中的任何更改都有帮助,请告诉我。我的目标是创建新的XLSX文件对应于每个CSV文件在一个特定的文件夹。任何其他简单的解决方案都将非常有帮助。

btqmn9zl

btqmn9zl1#

csvkit库确实提供了一个转换函数,但似乎您没有正确导入它。要从csvkit使用convert函数,您应该将import语句更改为:from csvkit.utilities import convert

with open(csv_path, 'rb') as csv_file:
    with open(xlsx_path, 'wb') as xlsx_file:
        convert(csv_file, xlsx_file, 'xlsx', encoding='utf-8')

print(f"Converted {csv_path} to {xlsx_path}")

字符串

相关问题