python - 如何为 Pandas 转换 xls 文件?

标签 python excel pandas

我正在处理从公共(public)网站下载的非常过时的文件。它们采用 .xls 格式。
当我尝试下面的代码时,我收到来自 pandas 的错误。
代码:

import pandas as pd

wb = pd.read_excel("file_name.xls")

first_sheet = pd.read_excel(wb,"First Tab Name")
错误:
XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'\xef\xbb\xbf<?xml'
当我在 Excel 中打开文件时,我收到一条消息,内容为:“'FileName.xls' 的文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则不要打开它。你还是要打开它吗?
但是,在使用 Excel 将文件保存为 .xls 或 .xlsx 后,Pandas 读取它就好了。
当我下载它们时,我需要同时处理几个文件,因此不幸的是,手动保存它不是一种选择。
我尝试使用 openpyxl、XLRD 和 xls2xlsx,但仍然收到相同的错误。
该文件最初以 zip 文件的形式下载。我正在使用 Zipfile 将其解压缩为 .xls 文件。
我不知道我可能会错过什么。

最佳答案

尝试这个。

  • 导入包:
  • import xldr
    
  • 阅读文件:
  • file = 'name_file.xls'
    
    table = xldr.open_workbook(file)
    
  • 如果是包含多个工作表的 Excel 文件,请使用:
  • print(table.nsheets)
    print(table.sheet_names())
    
  • 按索引选择工作表:
  • sheet = table.sheet_by_index(0)
    
    5.见表:
    data = []
    
    for i in range(sheet.nrows)
      print(sheet.row_values(i))
      data.append(sheet.row_values(i))
    

    关于python - 如何为 Pandas 转换 xls 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72673411/

    相关文章:

    mysql - 连接两个工作表;第一个包含范围列表,第二个包含可能属于第一个范围内的数据

    python - 在 Pandas 中访问多索引数据帧时出现 KeyError

    Python - 从 aspx 表单下载文件

    excel - 按年份计算excel中两个范围之间的记录数并处理空日期

    python - 汉字字符串查找算法

    excel - 如何复制不连续范围的并集并将它们粘贴到另一个工作表中?

    pandas - 如何确保所有行/列都出现在 pandas 交叉表中?

    python - 在虚拟环境中使用 Apt-Get Python 包

    python - 构建脚本来访问公共(public) Twitter 数据,无需身份验证

    python - 中断并重新启动写操作