首页 > 编程语言 >python处理EXCEL

python处理EXCEL

时间:2024-05-29 18:02:03浏览次数:14  
标签:sheet wb python EXCEL chart A1 处理 ws openpyxl

! https://zhuanlan.zhihu.com/p/700537143

python处理EXCEL

在Python中,有多个库可以用来操作Excel文件。其中比较常用的有openpyxl、pandas,以及xlsxwriter。下面我将分别介绍这些库及其使用方法。

一、openpyxl

安装

pip install openpyxl

示例代码

from openpyxl import Workbook, load_workbook
from openpyxl.styles import Font, Alignment
from openpyxl.chart import BarChart, Reference

# 创建一个新的Excel文件并写入数据
wb = Workbook()
ws = wb.active
ws.title = "Sheet1"

# 写入数据
ws['A1'] = 'Hello'
ws.append([1, 2, 3])
ws.append([4, 5, 6])
ws.append([7, 8, 9])

# 设置字体和对齐方式
ws['A1'].font = Font(size=14, bold=True)
ws['A1'].alignment = Alignment(horizontal='center', vertical='center')

# 合并单元格
ws.merge_cells('A1:C1')

# 添加公式
ws['A5'] = '=SUM(A2:A4)'

# 创建图表
chart = BarChart()
data = Reference(ws, min_col=1, min_row=2, max_col=3, max_row=4)
chart.add_data(data, titles_from_data=True)
ws.add_chart(chart, "E5")

# 保存文件
wb.save('openpyxl_example.xlsx')

# 读取已有的Excel文件
wb = load_workbook('openpyxl_example.xlsx')
ws = wb.active
print(ws['A1'].value)  # 输出 'Hello'

二、pandas

安装

pip install pandas openpyxl

示例代码

import pandas as pd

# 创建数据
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9]
})

# 写入数据到Excel
df.to_excel('pandas_example.xlsx', index=False)

# 读取Excel数据
df = pd.read_excel('pandas_example.xlsx')
print(df)

# 使用pandas进行Excel格式设置和单元格合并需要使用openpyxl
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.styles import Font, Alignment

# 载入工作簿和工作表
wb = load_workbook('pandas_example.xlsx')
ws = wb.active

# 设置字体和对齐方式
ws['A1'].font = Font(size=14, bold=True)
ws['A1'].alignment = Alignment(horizontal='center', vertical='center')

# 合并单元格
ws.merge_cells('A1:C1')

# 添加公式
ws['A5'] = '=SUM(A2:A4)'

# 保存文件
wb.save('pandas_example.xlsx')

三、xlsxwriter

安装

pip install XlsxWriter

示例代码

import xlsxwriter

# 创建一个新的Excel文件
workbook = xlsxwriter.Workbook('xlsxwriter_example.xlsx')
worksheet = workbook.add_worksheet()

# 写入数据
data = [10, 40, 50, 20, 10, 50]
worksheet.write_column('A1', data)

# 设置格式
bold = workbook.add_format({'bold': True})
worksheet.write('A1', 'Hello', bold)

# 合并单元格
worksheet.merge_range('A1:C1', 'Merged Cells', bold)

# 添加公式
worksheet.write('A8', '=SUM(A2:A7)')

# 创建一个图表对象
chart = workbook.add_chart({'type': 'column'})

# 配置图表数据范围
chart.add_series({'values': '=Sheet1!$A$2:$A$7'})

# 将图表插入工作表
worksheet.insert_chart('E5', chart)

# 关闭并保存文件
workbook.close()

四、xlwings

安装

pip install xlwings

示例代码

操作Excel程序
import xlwings as xw

# 启动Excel应用程序
app = xw.App(visible=True, add_book=False)
操作工作簿
# 创建一个新的工作簿
wb = app.books.add()

# 或者打开一个已有的工作簿
wb = app.books.open('xlwings_example.xlsx')
操作工作表
# 获取活动工作表
sheet = wb.sheets.active

# 添加一个新的工作表
new_sheet = wb.sheets.add('NewSheet')

# 选择一个已有的工作表
sheet = wb.sheets['Sheet1']
操作单元格
# 写入数据到单元格
sheet['A1'].value = 'Hello, xlwings'

# 写入一列数据
sheet['A2'].value = [1, 2, 3, 4, 5]

# 读取单元格数据
print(sheet['A1'].value)

# 设置单元格格式
sheet['A1'].font.bold = True
sheet['A1'].font.size = 14
sheet['A1'].api.HorizontalAlignment = xw.constants.HAlign.xlHAlignCenter

# 合并单元格
sheet.range('A1:C1').merge()

# 添加公式
sheet['A7'].formula = '=SUM(A2:A6)'

# 添加图表
chart = sheet.charts.add()
chart.set_source_data(sheet.range('A2:A6'))
chart.chart_type = 'line'
chart.name = 'SampleChart'

# 保存工作簿
wb.save('xlwings_example.xlsx')

# 关闭工作簿
wb.close()
关闭Excel应用程序
# 关闭Excel应用程序
app.quit()

标签:sheet,wb,python,EXCEL,chart,A1,处理,ws,openpyxl
From: https://www.cnblogs.com/lldhsds/p/18220798

相关文章

  • Python lambda函数
    Pythonlambda函数Python中的lambda函数,用于创建简洁的匿名函数。Lambda函数通常用于在需要函数作为参数的上下文中,以及在需要临时定义简单函数的地方。下面是一些关于lambda函数的基本知识和用法:1.lambda函数的基本语法lambdaarguments:expressionlambda关键字用于声明......
  • 使用 opencv 实现模板匹配功能前的预处理要求
    我使用opencv.TM_CCOEFF_NORMED函数来匹配发票模板。但是,模板匹配功能并没有产生准确的结果。匹配准确率相当低,只有50%。您能否建议我在流程中应包含或更改哪些内容以提高准确性?templateMap=cv.matchTemplate(img_r,resized_template,cv.TM_CCOEFF_NORMED)m......
  • 用Python写一个热点事件追踪的算法
     要编写一个热点事件追踪的算法,首先需要明确算法的主要目标和所需的数据。在这个例子中,我们将基于微博的热度(如点赞数、转发数和评论数)来追踪热点事件。以下是一个简单的Python算法,仅供参考: 1.导入所需库 ```pythonimportrequestsfrombs4importBeautifulSoupimp......
  • Python截取函数
    在Python中,你可以使用切片(slice)来截取字符串、列表和其他序列类型的一部分。以下是一些常见的示例:1.**截取字符串**:```pythons="Hello,World!"substring=s[7:12] #从索引7开始到索引12(不包括12)结束print(substring) #输出:World```2.**使用负数索引截取**......
  • AI大模型探索之路-实战篇10:数据预处理的艺术:构建Agent智能数据分析平台的基础
    系列篇章......
  • Python数据分析与挖掘实战(6章)
    非原创,仅个人关于《Python数据分析与挖掘实战》的学习笔记窃漏电数据分析导入相关库importwarningsimportmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspdimportxlrd#解决中文乱码plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axe......
  • Python中的压缩和解包: '*'、'**'和zip()
    python中*用途广泛,除了在数学运算中作为相乘还可以在其它方便扮演者对数据的解包之用途。*数学运算中的相乘对元组/列表的解包1.星号*可以用于在解包过程中收集多余的值。例如:numbers=(1,2,3,4,5)#解包时使用*收集多余的值a,b,*rest=numbersprint(a)#......
  • Excel 2016数据处理与分析应用教程微课版苏林萍课后习题答案解析
    Excel2016数据处理与分析应用教程(微课版)主 编: 苏林萍ISBN: 9787115510204出版社: 人民邮电出版社上传者: .Twinkle《Excel2016数据处理与分析应用教程(微课版)》是一本非常适合大学生学习Excel2016的教材。书中内容详实,讲解透彻,对于初学者来说非常友好。通过学习这本......
  • Python实用代码片段分享(一)
    在Python编程的旅途中,我们经常会遇到各种问题和挑战。为了帮助大家更高效地编写代码,今天我为大家分享几个实用的Python代码片段。这些代码片段涵盖了从数据处理到文件操作,再到性能优化等多个方面。希望它们能在你的项目中发挥作用!一、数据处理1.列表推导式列表推导式是Pytho......
  • Python中的pyttsx3库:文本到语音转换的利器
    pyttsx3是一个跨平台的文本到语音转换库,它可以在没有安装其他依赖项的情况下在Windows、Linux和macOS上运行。pyttsx3使用系统自带的TTS(文本到语音)引擎,因此可以确保在各种操作系统上都具有较高的稳定性和可用性。官方文档:https://pyttsx3.readthedocs.io/en/latest/https://py......