记录使用pandas库打开excel文件遇到的问题

一、安装库

在做接口自动化的时候,由于打开了fildder软件,导致安装python库的时候一直安装失败
在这里插入图片描述
解决方案:把fildder关掉,再进行python库的安装

二、pandas库的使用

.xls 和 .xlsx两种格式的对比

.xls.xlsx
采用二进制格式存储数据,通常文件较大采用压缩和 XML 文件格式,通常文件较小
实际上是一个压缩包,包含多个 XML 文件和其他资源
加密和密码保护的机制相对较少提供更强的加密选项,支持更高级别的安全性

编码问题

excel文件的后缀有.xls和.xlsx两种。
pandas内部依然是使用的openpyxl操作.xlsx文件,xlrd操作.xls文件。方法参数engine中可以选择不同的引擎。
在这里插入图片描述
在使用read_excel()方法读取excel文件内容的时候,报编码问题的错误。

def read_excel(excel_file):
    test_case_file = os.path.dirname(__file__).split("common")[0] + excel_file
    if not os.path.exists(test_case_file):
        print("测试用例excel文件不存在或路径有误!")
        # 找不到指定测试文件,就退出程序 os.system("exit")是用来退出cmd的
        sys.exit()
    # 读取excel文件
    df = pd.read_excel(open(test_case_file,mode="r",encoding="utf8"), sheet_name="Sheet1")
    print(df.columns)

在这里插入图片描述
解决方案:
① 看引擎是否使用正确;
② 是否添加 encoding=“utf8”;
③ 文件的编码格式是否正确。
针对③ :使用notepad打开文件,右下角可以看到文件编码。在“编码”中切换成UTF-8,然后另存为进行保存即可。
在这里插入图片描述

BadZipFile问题

读取的时候报错
在这里插入图片描述
情况一:文件已经损坏,打不开
直接在项目里面双击打开文件
在这里插入图片描述
在这里插入图片描述
情况二:使用代码判断文件是否损坏
注:【xlsx文件】使用zipfile.ZipFile()方法时:
① 直接传文件路径的时候,zipfile 模块会在内部使用 open() 函数以二进制模式打开文件;
② 传文件对象的时候,一定要注意要以二进制模式打开 ‘rb’,否则会一直报BadZipFile

    try:
        # 尝试打开 ZIP 文件
        with zipfile.ZipFile(open(file_path,'rb'), 'r') as zip_ref:
            print("文件正常")
    except zipfile.BadZipFile:
        print("无法打开文件:该 ZIP 文件损坏或格式不正确")
    except zipfile.LargeZipFile:
        print("无法打开文件:该 ZIP 文件超过 2GB,无法处理")
    except zipfile.PythonError as e:
        print(f"Python 错误:{e}")
    except Exception as e:
        print(f"发生了其他错误:{e}")

pd.read_excel传参问题

注:传文件对象的时候,一定要注意要以二进制模式打开 ‘rb’,否则会一直报BadZipFile

    # 读取excel文件
    # 方式一:
    df = pd.read_excel(open(test_case_file,"rb"), sheet_name="Sheet1",engine="openpyxl")
    
    # 方式二
    df = pd.read_excel(test_case_file, sheet_name="Sheet1",engine="openpyxl")
### 如何使用 Pandas 打开文件 #### Excel 文件操作 对于 Excel 文件的操作,`pandas` 提供了 `read_excel()` 函数来加载 `.xls` 或者 `.xlsx` 类型的数据表。为了能够正常读取这些类型的文件,程序需要额外安装 `openpyxl` 这样的第三方用于解析较新的 Excel 文档格式[^1]。 ```python import pandas as pd df = pd.read_excel('example.xlsx', engine='openpyxl') print(df.head()) ``` 这段代码展示了如何通过指定引擎参数为 `openpyxl` 来确保可以成功读取现代版本的 Excel 文件。 #### CSV 文件操作 当涉及到 CSV 文件时,`pandas` 自带的功能已经非常强大,并不需要依赖其他外部即可完成大部分任务。可以通过简单的两步实现对 CSV 数据的有效访问: - **导入必要的** 需要先引入 `pandas` 以便后续调用其方法来进行数据处理工作。 - **执行读取命令** 可以利用 `pd.read_csv()` 方法并传入目标路径作为参数轻松获取所需表格内容。如果知道确切的位置,则可以直接给出绝对路径;反之亦然,相对路径同样适用[^3]。 ```python import pandas as pd # 假设有一个名为 weather.csv 的文件位于 F:\数据分析\ 下面的例子会打印前五行的内容 df_weather = pd.read_csv(r'F:\数据分析\weather.csv') print(df_weather.head()) # 显示 DataFrame 的前几行,默认显示五条记录 ``` 值得注意的是,在某些情况下可能还会遇到编码方面的问题,这时可以在读取过程中设置合适的字符集编码选项(比如 UTF-8),从而避免乱码现象的发生[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值