【问题标题】:Pandas read_excel() fails on importing xlrdPandas read_excel() 导入 xlrd 失败
【发布时间】:2019-01-04 11:30:41
【问题描述】:

我想将存储在我的文件夹中的多个.xls 文件转换为.csv 格式。这是我到目前为止所得到的:

import glob
import os
import csv
import pandas as pd

path = r'C:\Users\XXX\Desktop\Test'
full_path = os.path.join(path, '*.xls')

    for filename in glob.glob(full_path):

        name_xls = os.path.basename(filename)
        name_csv = name_xls.replace('.xls', '.csv')

        data_xls = pd.read_excel(name_xls)
        data_xls.to_csv(name_csv, sep=';', encoding='ASCI')

即使我下载了 pandas 和 xlrd 库,我仍然收到以下错误:

Traceback (most recent call last):   File
"C:\Users\XXX\.thonny\BundledPython36\lib\site-packages\pandas\io\excel.py",
line 261, in __init__
  **import xlrd ModuleNotFoundError: No module named 'xlrd'**

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File
"C:\Users\XXX\Desktop\coverage_code_0\coverage_code_0.py", line
16, in <module>
  data_xls = pd.read_excel(name_xls)   File  
C:\Users\XXX\.thonny\BundledPython36\lib\site-packages\pandas\util\_decorators.py",
line 118, in wrapper
  return func(*args, **kwargs)   File "C:\Users\XXX\.thonny\BundledPython36\lib\site-packages\pandas\io\excel.py",
line 230, in read_excel
  io = ExcelFile(io, engine=engine)   File "C:\Users\XXX\.thonny\BundledPython36\lib\site-packages\pandas\io\excel.py",
line 263, in __init__
  raise ImportError(err_msg) ImportError: Install xlrd >= 0.9.0 for Excel support

import xlrd 不起作用,当我包含该编译器时说:

No module named 'xlrd'

我认为我的代码中有错误,但我不知道在哪里。有什么想法吗?

【问题讨论】:

  • 在你的 cmd 中尝试pip install xlrd 来安装库。
  • 要求已经满足:c:\users\XXX\appdata\local\programs\ python\python36-32\lib\site-packages (1.1.0)中的xlrd

标签: python excel pandas csv xlrd


【解决方案1】:

您需要在与 pandas 相同的解释器和 virutalenv 中运行 pip install xlrd。在您的评论中,您说您在 c:\users\XXX\appdata\local\programs\python\python36-32 中安装了 xlrd,但您的 pandas 在 C:\Users\XXX\.thonny\BundledPython36\ 中。如果您不使用 virtualenv,请尝试在 BundledPython36 文件夹中找到 pip 并运行它。

C:\Users\XXX\.thonny\BundledPython36\...\pip install xlrd

如果您使用 virtualenv,activate it 并简单地运行 pip install xlrd

【讨论】:

  • 成功了!我只是简单地从这个目录运行 pip install xlrd:C:\Users\XXX\.thonny\BundledPython36\Scripts\
【解决方案2】:

如果你这样做,你需要这个包:

def convert_to_csv():
    PATH = path_to_excel
    fileNames = os.listdir(PATH)
    fileNames = [file for file in fileNames if '.xls' in file]
    for file in fileNames: 
        exl =  pd.read_excel(PATH+file)
        exl.to_csv(PATH+file[:-3]+'csv',sep=';', index=False, header=True)
if __name__ == "__main__":
    import pandas as pd
    convert_to_csv()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2017-06-20
    • 2016-08-28
    • 2021-02-28
    • 1970-01-01
    • 2021-06-13
    • 2020-06-02
    相关资源
    最近更新 更多