网站首页 > 博客文章 正文
Python 操作 Excel 表格主要通过几个流行的库来实现,包括 pandas、openpyxl 和 xlsxwriter。下面是使用这些库进行常见操作的一些示例代码片段。
一、简单操作
使用 pandas
- 读取 Excel 文件
import pandas as pd
# 读取整个Excel文件
df = pd.read_excel('example.xlsx')
# 读取特定工作表
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
- 写入 Excel 文件
# 将 DataFrame 写入新的 Excel 文件
df.to_excel('output.xlsx', index=False)
# 写入指定工作表
with pd.ExcelWriter('output.xlsx') as writer:
df.to_excel(writer, sheet_name='New Sheet', index=False)
使用 openpyxl
- 安装 openpyxl
pip install openpyxl
- 读取单元格数据
from openpyxl import load_workbook
wb = load_workbook('example.xlsx')
ws = wb['Sheet1']
cell_value = ws['A1'].value
print(cell_value)
- 写入单元格数据
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = 'Hello'
ws['B1'] = 'World!'
wb.save('output.xlsx')
使用 xlsxwriter
- 安装 xlsxwriter
pip install XlsxWriter
- 创建新工作簿并写入数据
import xlsxwriter
workbook = xlsxwriter.Workbook('output.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello')
worksheet.write('B1', 'World!')
workbook.close()
二、高级用法
当然,Python 操作 Excel 时,除了基础的读写操作外,还有许多高级玩法可以提升工作效率和数据处理能力。下面通过几个例子来展示如何利用 pandas 和 openpyxl 库进行更复杂的数据处理和格式化。
使用 pandas 进行高级数据处理
- 数据透视表(Pivot Table)
import pandas as pd
# 假设df是从Excel读取的数据
df = pd.read_excel('sales_data.xlsx')
# 创建数据透视表
pivot_table = pd.pivot_table(df, values='Sales', index=['Manager'], columns=['Product'],
aggfunc=np.sum, fill_value=0)
# 输出到新的Excel文件
pivot_table.to_excel('pivot_sales.xlsx')
- 数据清洗与转换(Data Cleaning and Transformation)
# 去除空值
df_cleaned = df.dropna()
# 替换特定值
df_cleaned['Status'] = df_cleaned['Status'].replace({'inactive': 'Inactive'})
# 重命名列
df_cleaned.rename(columns={'OldName': 'NewName'}, inplace=True)
使用 openpyxl 进行高级格式化
- 条件格式(Conditional Formatting)
from openpyxl import Workbook
from openpyxl.styles import PatternFill
from openpyxl.formatting.rule import CellIsRule
# 创建工作簿和工作表
wb = Workbook()
ws = wb.active
# 填充数据
for i in range(1, 11):
ws.cell(row=i, column=1).value = i * 10
# 定义填充样式
red_fill = PatternFill(start_color='FF0000', end_color='FF0000', fill_type='solid')
# 添加条件格式规则:如果A列的值大于50,则背景色为红色
rule = CellIsRule(operator='>', formula=['50'], fill=red_fill)
ws.conditional_formatting.add('A1:A10', rule)
# 保存文件
wb.save('conditional_format.xlsx')
- 插入图表(Creating Charts)
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
# 假设已有数据
wb = Workbook()
ws = wb.active
# 添加数据
for i in range(1, 4):
ws.cell(row=1, column=i+1).value = f'Series {i}'
for j in range(1, 4):
ws.cell(row=j+1, column=i+1).value = i * j
# 创建柱状图
chart = BarChart()
data = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=4)
cats = Reference(ws, min_col=1, min_row=2, max_row=4)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
chart.title = "Sample Bar Chart"
ws.add_chart(chart, "E2")
# 保存文件
wb.save('chart_example.xlsx')
以上示例展示了如何使用 Python 对 Excel 进行复杂的数据分析、数据清洗、条件格式化以及图表插入等高级操作,这些技巧能极大提高数据处理的效率和质量。
猜你喜欢
- 2024-09-29 一日一技:使用XlsxWriter模块在Excel工作表中绘制组合图表
- 2024-09-29 Hutool Java工具类库导出Excel,超级简单
- 2024-09-29 有了这个开源工具后,我五点就下班了
- 2024-09-29 pandas写excel报错IllegalCharacterError解决方案
- 2024-09-29 python从入门到实践,文件读写与Excel操作
- 2024-09-29 Python读写EXCEL文件常用方法大全
- 2024-09-29 太棒了!Python和Excel过了这么久终于可以互通了
- 2024-09-29 EasyExcel实现Excel验证标红备注下载
- 2024-09-29 Excel和Python终于可以互通了(python怎么与excel衔接)
- 2024-09-29 操作MS Execl电子表格的常用JAR包
你 发表评论:
欢迎- 07-07Xiaomi Enters SUV Market with YU7 Launch, Targeting Tesla with Bold Pricing and High-Tech Features
- 07-07Black Sesame Maps Expansion Into Robotics With New Edge AI Strategy
- 07-07Wuhan's 'Black Tech' Powers China's Cross-Border Push with Niche Electronics and Scientific Firepower
- 07-07Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!
- 07-07IT运维必会的30个工具(it运维工具软件)
- 07-07开源项目有你需要的吗?(开源项目什么意思)
- 07-07自动化测试早就跑起来了,为什么测试管理还像在走路?
- 07-07Cursor 最强竞争对手来了,专治复杂大项目,免费一个月
- 最近发表
-
- Xiaomi Enters SUV Market with YU7 Launch, Targeting Tesla with Bold Pricing and High-Tech Features
- Black Sesame Maps Expansion Into Robotics With New Edge AI Strategy
- Wuhan's 'Black Tech' Powers China's Cross-Border Push with Niche Electronics and Scientific Firepower
- Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!
- IT运维必会的30个工具(it运维工具软件)
- 开源项目有你需要的吗?(开源项目什么意思)
- 自动化测试早就跑起来了,为什么测试管理还像在走路?
- Cursor 最强竞争对手来了,专治复杂大项目,免费一个月
- Cursor 太贵?这套「Cline+OpenRouter+Deepseek+Trae」组合拳更香
- 为什么没人真的用好RAG,坑都在哪里? 谈谈RAG技术架构的演进方向
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)