excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Python 操作 Excel 表格从简单到高级用法

Python 操作 Excel 表格主要通过几个流行的库来实现,包括 pandasopenpyxlxlsxwriter。下面是使用这些库进行常见操作的一些示例代码片段。

一、简单操作

使用 pandas

  1. 读取 Excel 文件

import pandas as pd# 读取整个Excel文件df = pd.read_excel('example.xlsx')# 读取特定工作表df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
  1. 写入 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

  1. 安装 openpyxl

pip install openpyxl
  1. 读取单元格数据

from openpyxl import load_workbookwb = load_workbook('example.xlsx')ws = wb['Sheet1']cell_value = ws['A1'].valueprint(cell_value)
  1. 写入单元格数据

from openpyxl import Workbookwb = Workbook()ws = wb.activews['A1'] = 'Hello'ws['B1'] = 'World!'wb.save('output.xlsx')

使用 xlsxwriter

  1. 安装 xlsxwriter

pip install XlsxWriter
  1. 创建新工作簿并写入数据

import xlsxwriterworkbook = xlsxwriter.Workbook('output.xlsx')worksheet = workbook.add_worksheet()worksheet.write('A1', 'Hello')worksheet.write('B1', 'World!')workbook.close()

二、高级用法

当然,Python 操作 Excel 时,除了基础的读写操作外,还有许多高级玩法可以提升工作效率和数据处理能力。下面通过几个例子来展示如何利用 pandasopenpyxl 库进行更复杂的数据处理和格式化。

使用 pandas 进行高级数据处理

  1. 数据透视表(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')
  1. 数据清洗与转换(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 进行高级格式化

  1. 条件格式(Conditional Formatting)

from openpyxl import Workbookfrom openpyxl.styles import PatternFillfrom 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')
  1. 插入图表(Creating Charts)

from openpyxl import Workbookfrom 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年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接