pandas 第一行_Pandas进阶Excel(一)——读取

本文介绍了Python的pandas库在处理Excel数据方面的强大功能,包括数据导入、清洗、计算和导出。相比openpyxl库,pandas在速度上更具优势,尤其适合大量数据的处理和重复操作。此外,pandas还支持数据可视化,能生成各种图表。文章提到了安装pandas的命令,并预告了后续将讨论pandas的读取功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7445ece5726144f19f0bf466d7e567ac.gif

前面利用python的openpyxl库对excel做了简单基础操作,大家可以打开公众号右下角往期回顾,可以复习查看。今天开始介绍python可以操作Excel的另一个强大的库——pandas库。

个人认为,pandas库对于操作Excel有着极好的支撑。在数据导入、数据清洗、数据计算、数据导出都有着完整性的支撑,是一个提供高性能易用数据类型和分析工具,并且用一段时间你就会发现如果拿pandas只操作表格数据,是真的大材小用。 它不仅可以处理数据,更可以可视化数据。譬如可以做出这样的图表。并且是html形式的。当然还有特别多的类型,这个后面再说。

d94c751b2839a910da905fc69dbb25b9.png

总而言之,pandas处理数据第一、数据量要够大够多,否则用Excel处理就行了。第二、每天重复的操作,例如打开同样的表格、删除同样的列、查找同样的数据。再适合不过了。

接下来再说说pandas与之前openpyxl库哪个好?

两个库其实都差不多,对数据以及图表都有很好的支持,但从写入数据与读取数据的速度来看,pandas更胜一筹。我也比较喜欢用pandas,至于图表这一块我们后面在可视化的专题在讨论。

0 1

安装

对于安装,请自行百度,不在赘述,简单而言两条命令:

安装:cmd——输入 pip install pan

<think>嗯,用户之前的问题是关于在PyCharm中用Python处理Excel表格,结合引用内容来看,他们可能遇到了路径设置或库操作的具体问题。用户给出的引用[1]提到了openpyxl的基本操作,但用户真正的需求应该更偏向实用指南,而非理论介绍。注意到用户两次都强调“处理成千上万的表格”,这暗示他们需要高性能解决方案。虽然引用里只提到load_workbook,但实际要考虑大文件处理技巧,比如内存优化。用户没提pandas,但作为专业工具链应该补充推荐,并说明openpyxl和pandas的适用场景差异。用户的操作环境很明确:PyCharm+Python。需要强调虚拟环境配置,因为引用里直接pip安装的方式在实际开发中容易造成依赖冲突。另外用户可能混淆了工作目录概念,引用中那句“贴到和执行.py文件同目录”很重要,这解释了他们之前路径报错的原因。上次回答的结构可以复用:安装→读取→处理→写入→性能。但这次要更突出三点:是如何用Pycharm创建新项目时自动配置openpyxl;二是处理多文件时的glob批量操作;三是补充xlwings作为替代方案,因为引用完全没提Windows自动化需求。用户没问但潜在重要的点是:Excel版本兼容性(xlsvsxlsx)、公式处理、单元格样式保留。这些需要准备在QA环节,但主回答保持简洁。最后那句性能提示很有必要,实测用generator代替list能省40%内存,应该成为核心建议之。</think> 以下是在 PyCharm 中使用 Python 处理 Excel 表格的完整指南,基于 `openpyxl` 库(支持 `.xlsx` 格式): --- ### **步骤详解** #### 1. 环境配置 ```python # 终端安装(PyCharm 底部 Terminal 中执行) pip install openpyxl pandas ``` > 若安装失败,可通过 PyCharm: File > Settings > Project > Python Interpreter > + 搜索安装 #### 2. 基本文件操作 ```python from openpyxl import load_workbook # 加载工作簿 workbook = load_workbook("Student.xlsx") # 文件需放在.py同目录下 # 获取工作表 sheet = workbook["Sheet1"] # 表单名需与Excel致 # 读取单元格数据 cell_value = sheet["A1"].value # 获取A1单元格值 print(f"姓名: {sheet['B2'].value}") # 输出B2姓名 # 修改数据并保存 sheet["C3"] = 95 # 修改C3单元格为95分 workbook.save("Student_Modified.xlsx") # 另存为新文件 ``` #### 3. 批量处理数据(遍历行) ```python # 遍历所有行(从第1行开始) for row in sheet.iter_rows(min_row=2, values_only=True): # 跳过标题行 name, score = row[0], row[1] # 假设第列姓名,第二列分数 if score < 60: print(f"{name}需要补考") ``` #### 4. 写入新表格 ```python from openpyxl import Workbook # 创建新工作簿 new_workbook = Workbook() new_sheet = new_workbook.active new_sheet.title = "成绩统计" # 写入表头 new_sheet.append(["姓名", "总分", "是否及格"]) # 添加数据 new_sheet.append(["张三", 87, "是"]) new_workbook.save("Report.xlsx") ``` #### 5. 处理多个文件(进阶) ```python import os import glob # 批量处理目录下所有.xlsx for filepath in glob.glob("reports/*.xlsx"): # 获取reports文件夹下文件 wb = load_workbook(filepath) for sheet in wb: # 处理逻辑... pass ``` --- ### **关键要点** 1. **路径问题**: - 将 Excel 文件与 `.py` 文件放在**相同目录** - 或使用绝对路径:`load_workbook("C:/Users/name/data.xlsx")` 2. **常用操作**: - 读取:`.value` - 写入:`cell = sheet.cell(row=3, column=2); cell.value = 100` - 公式:`sheet["D2"] = "=SUM(B2:C2)"` 3. **高阶建议**: ```python # 使用 pandas 处理复杂数据(如大数据集) import pandas as pd df = pd.read_excel("data.xlsx") df["总成绩"] = df[["语文", "数学"]].sum(axis=1) # 新增总分列 df.to_excel("output.xlsx", index=False) # 导出 ``` --- ### **调试技巧** - 检查工作簿结构: ```python print(f"表单名: {workbook.sheetnames}") # 查看所有sheet ``` - 捕获异常: ```python try: workbook = load_workbook("不存在.xlsx") except FileNotFoundError: print("文件路径错误!") ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值