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最新面试题