Python 给 Excel 写入数据的四种方法

Python 在数据处理领域应用广泛,其中与 Excel 文件的交互是常见需求之一。

本文将介绍四种使用 Python 给 Excel 文件写入数据的方法,并结合生活中的例子进行解释,帮助新手小白快速上手。

1. 使用 openpyxl 库

openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。它支持读取和修改 Excel 文件的单元格、样式、公式等内容。

假设你是一名老师,需要将学生的考试成绩写入 Excel 文件中。

from openpyxl import Workbook

# 创建一个新的工作簿
wb = Workbook()

# 获取默认的工作表
ws = wb.active

# 写入数据
ws['A1'] = '姓名'
ws['B1'] = '成绩'
ws['A2'] = '张三'
ws['B2'] = 90
ws['A3'] = '李四'
ws['B3'] = 85

# 保存文件
wb.save('学生成绩.xlsx')
复制代码

代码说明

  • Workbook() 创建一个新的工作簿对象。

  • wb.active 获取默认的工作表。

  • ws['A1'] = '姓名' 将字符串 "姓名" 写入单元格 A1。

  • wb.save('学生成绩.xlsx') 将工作簿保存为名为 "学生成绩.xlsx" 的文件。

2. 使用 xlsxwriter 库

xlsxwriter 是一个用于创建 Excel xlsx 文件的 Python 库,它支持格式化单元格、插入图表、图片等功能。

假设你是一名销售人员,需要将每个月的销售数据写入 Excel 文件中,并生成图表。

import xlsxwriter

# 创建一个新的工作簿
workbook = xlsxwriter.Workbook('销售数据.xlsx')

# 添加一个工作表
worksheet = workbook.add_worksheet()

# 写入数据
data = [
    ['月份', '销售额'],
    ['一月', 100],
    ['二月', 120],
    ['三月', 150],
]

row = 0
col = 0
for item in data:
    worksheet.write_row(row, col, item)
    row += 1

# 创建图表
chart = workbook.add_chart({'type': 'column'})
chart.add_series({
    'name': '销售额',
    'categories': '=Sheet1!$A$2:$A$4',
    'values': '=Sheet1!$B$2:$B$4',
})
worksheet.insert_chart('D2', chart)

# 关闭工作簿
workbook.close()
复制代码

代码说明

  • xlsxwriter.Workbook('销售数据.xlsx') 创建一个新的工作簿对象。

  • workbook.add_worksheet() 添加一个新的工作表。

  • worksheet.write_row(row, col, item) 将一行数据写入工作表。

  • workbook.add_chart() 创建一个图表对象。

  • chart.add_series() 添加图表数据系列。

  • worksheet.insert_chart('D2', chart) 将图表插入到工作表中。

  • workbook.close() 关闭工作簿并保存文件。

3. 使用 pandas 库

pandas 是一个强大的数据分析库,它可以方便地读取和写入各种格式的数据,包括 Excel 文件。

假设你是一名数据分析师,需要从数据库中读取数据,并将其写入 Excel 文件中。

import pandas as pd

# 创建一个 DataFrame
data = {
    '姓名': ['张三', '李四', '王五'],
    '年龄': [20, 25, 30],
    '城市': ['北京', '上海', '广州'],
}
df = pd.DataFrame(data)

# 将 DataFrame 写入 Excel 文件
df.to_excel('用户信息.xlsx', sheet_name='Sheet1', index=False)
复制代码

代码说明

  • pd.DataFrame(data) 创建一个 DataFrame 对象。

  • df.to_excel('用户信息.xlsx', sheet_name='Sheet1', index=False) 将 DataFrame 写入名为 "用户信息.xlsx" 的 Excel 文件,指定工作表名称为 "Sheet1",不写入行索引。

4. 使用 win32com 库 (Windows Only)

win32com 是一个用于访问 Windows COM 对象的 Python 库,它可以用来操作 Excel 应用程序。

假设你已经有了一个 Excel 文件,需要在其中添加一些数据,可以使用 win32com 来打开 Excel 应用程序并进行操作。

import win32com.client

# 打开 Excel 应用程序
excel = win32com.client.Dispatch("Excel.Application")

# 打开工作簿
workbook = excel.Workbooks.Open("已有文件.xlsx")

# 获取工作表
worksheet = workbook.Sheets("Sheet1")

# 写入数据
worksheet.Cells(1, 1).Value = "新的数据"

# 保存文件
workbook.Save()

# 关闭 Excel 应用程序
excel.Quit()
复制代码

代码说明

  • win32com.client.Dispatch("Excel.Application") 打开 Excel 应用程序。

  • excel.Workbooks.Open("已有文件.xlsx") 打开名为 "已有文件.xlsx" 的工作簿。

  • workbook.Sheets("Sheet1") 获取名为 "Sheet1" 的工作表。

  • worksheet.Cells(1, 1).Value = "新的数据" 将字符串 "新的数据" 写入单元格 A1。

  • workbook.Save() 保存工作簿。

  • excel.Quit() 关闭 Excel 应用程序。

总结

以上就是四种使用 Python 给 Excel 文件写入数据的方法,每种方法都有其特点和适用场景。你可以根据自己的需求选择合适的方法。希望本文能帮助你更好地使用 Python 处理 Excel 数据!

全套Python学习资料分享:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

三、python入门资料大全

四、python进阶资料大全

五、python爬虫专栏

六、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

七、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

八、python最新面试题

相关推荐
凌盛羽3 小时前
C#对Excel表csv文件的读写操作
开发语言·windows·物联网·microsoft·c#·excel
grace_jm20083 小时前
Excel VBA语句集
excel
走在考研路上4 小时前
Python错误处理
开发语言·python
数据小爬虫@5 小时前
Python爬虫:如何优雅地“偷窥”商品详情
开发语言·爬虫·python
闰土_RUNTU5 小时前
Pytorch分布式训练print()使用技巧
人工智能·pytorch·python·分布式训练·训练技巧
零光速5 小时前
数据处理与统计分析——10-Pandas可视化-Matplotlib的常用API
数据结构·python·数据分析·pandas·matplotlib
雨中奔跑的小孩5 小时前
爬虫学习案例3
爬虫·python·学习
Json____5 小时前
前端node环境安装:nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置)
前端·windows·npm·node.js·node·nvm·cnpm
陌上笙清净6 小时前
flask内存马的真谛!!!
后端·python·网络安全·flask