我在尝试从 csvkit 库中使用转换时遇到找不到模块错误

I'm getting a module not found error while trying to use convert from the csvkit library

提问人:Susmitha Acharya 提问时间:7/18/2023 最后编辑:RF1991Susmitha Acharya 更新时间:7/18/2023 访问量:26

问:

我正在尝试通过批量转换方法将文件从 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?如果问题出在方法上,或者代码中的任何更改是否会有所帮助,请告诉我。我的目标是创建与特定文件夹中的每个 CSV 文件相对应的新 XLSX 文件。任何其他简单的解决方案都将非常有帮助。

csv xlsx csvkit

评论


答:

0赞 Rahul Thakur 7/18/2023 #1

csvkit 库确实提供了转换函数,但似乎您没有正确导入它。要使用 convert 函数 ,您应该将 import 语句更改为:csvkitfrom 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}")