为什么用Spyder读取excel时?(语言-python)

在用Spyder3.8运行这段代码时,出现了以下错误:

df = pd.read_excel(
    io="./excel/{0}.xlsx".format(target),
    sheet_name = None
)

TypeError: int() argument must be a string, a bytes-like object or a number, not '_NoValueType' (sheet: Sheet1)


请问有没有友友知道哪里出错了呢?

错误信息提示,说不应该用'_NoValueType', 所以应该是sheet_name = None, 这个参数的问题,我给的建议是:

  1. 直接取消sheet_name这个参数:
    那代码会是:
   df = pd.read_excel(io="./excel/{0}.xlsx".format(target))
  1. 修改成sheet_name=0
   df = pd.read_excel(
       io="./excel/{0}.xlsx".format(target),
       sheet_name=0
   )

sheet_name应该表示使用哪一个sheet,=0表示默认使用sheet1.

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    我可以为您提供一些解决方案,具体情况可能是由以下几种原因导致的:

    1. 缺少必要的库或依赖项。请确保已经安装了pandas库和xlrd库,因为它们是处理excel文件的必要库。可能需要使用以下命令来安装它们:
    pip install pandas
    pip install xlrd
    
    1. 文件路径错误。请确保您输入的文件路径是正确的,可以使用绝对路径或相对路径。

    2. 文件打开方式错误。如果您想要读取excel文件,应该使用pandas库的read_excel函数。例如:

    import pandas as pd
    df = pd.read_excel('your_excel_file.xlsx')
    

    如果你想使用xlrd库来读取excel文件,你可以使用如下的代码:

    import xlrd
    workbook = xlrd.open_workbook('your_excel_file.xlsx')
    worksheet = workbook.sheet_by_index(0)
    

    检查以上三个原因,如果仍然无法解决问题那么请提供更多的错误信息,这样我才能帮助您更好的解决问题,谢谢!


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^