为了实现“python写入Excel表格的方法详解”,我们需要安装Python的第三方包——openpyxl。通过这个包我们可以轻松地对Excel进行读写操作。
安装openpyxl
安装openpyxl包的最简单方式是通过pip命令:
pip install openpyxl
写入Excel文件
使用openpyxl,我们可以使用下面的代码来打开并创建一个工作簿(workbook):
from openpyxl import Workbook
wb = Workbook()
使用这个对象,我们可以创建一个新的工作表(worksheet), 并向其中写入数据:
ws = wb.active
ws.title = "MySheet"
ws['A1'] = "姓名"
ws['B1'] = "年龄"
ws['C1'] = "性别"
ws.append(["小明", 18, "男"])
ws.append(["小红", 20, "女"])
ws.append(["小刚", 19, "男"])
wb.save(filename="example.xlsx")
在这个例子中,我们使用了Workbook()
方法创建了一个新的工作簿,使用命令wb.active
获取新建文档的第一个工作表。之后,我们使用title
属性指定文档的工作表名字。我们将"姓名", "年龄", "性别"这些标题写在了A1~C1单元格中,之后通过append()
方法将三个学生的信息写到了工作表的后面。
最后使用save()
方法将工作簿保存在计算机的某个路径下。
读取Excel文件
对于读取Excel文件,可以使用下面的代码来打开并操作一个xlsx文件:
from openpyxl import load_workbook
wb = load_workbook(filename = 'example.xlsx')
ws = wb.active
for row in ws.iter_rows(min_row=2,max_col=3,values_only=True):
print("{} is {} years old".format(row[0], row[1]))
在这个例子中,我们通过load_workbook()
方法打开了之前生成的Excel文件。在这个文件中,我们读取了第一个工作表并将其存放在变量ws
中。
我们使用iter_rows()
方法遍历工作表中的每一行。此处,我们使用了values_only=True
参数,表示只返回每一行中单元格中的值,而不是单元格的各种属性信息。我们在循环中输出了每个学生的姓名和年龄。
以上就是Python在Excel文件中读写数据的方法详解。在实际工作中,Python能够读取或写入Excel表格文件,方便用户快速处理数据,提高工作效率。
在下面的示例中,我们再继续介绍一些其他的操作,其中包括:
- 创建新的工作表
- 写入多个单元格
- 写入公式
创建新的工作表
到目前为止,我们一直使用的是活动(默认)的工作表,也就是第一个工作表。但是,有时候我们需要创建一个新的工作表或者操作已经存在的工作表。为了这样做,我们可以使用create_sheet()
方法。
# 创建一个新的工作表
sheet2 = wb.create_sheet("人员名单")
# 将新的工作表定位为活动工作表
ws = wb[sheet2.title]
# 向新的工作表写入数据
ws['A1'] = '员工编号'
ws['B1'] = '姓名'
ws['C1'] = '性别'
在这个例子中,我们使用create_sheet()
方法创建了一个新的工作表,这个网站的作者将其命名为“人员名单”。之后,我们使用这个新建的工作表名称修改了wb
的索引,使其指向这个新的工作表。在这个工作表中,我们书写了新的信息,并保存为一个Excel文件。
写入多个单元格
到目前为止,我们只是单独地向Excel文件的每一个单元格写入数据。如果数据量庞大,一步一步写入就显得不那么方便。在这种情况下,可以使用iterables
指定连续的若干行/列。
data = [
["Tom", 23, "男"],
["Jerry", 24, "男"],
["Lisa", 25, "女"],
["John", 27, "男"]
]
ws.append(["姓名", "年龄", "性别"])
for row in data:
ws.append(row)
在这个例子中,数据被写入列表的data
中,然后使用单个命令将表中的多个单元格写入表格中。其中,第一个添加的行包括标题“姓名”,“年龄”和“性别”,而之后的每行包含一个人的信息。数据在添加到工作表之前,存放在一个数组中,并使用两个for
循环。在这个例子中,我们成功地将同一类型的数据分类放在一起,增加了代码的易读性,并且在操作高量数据时可以使用这种方法提高程序的执行效率。
写入公式
我们也可以在写入Excel表格时使用公式。在openpyxl
中,使用Formula
单元格类型来指定公式。
# 创建一个新的工作表
sheet3 = wb.create_sheet("阶乘")
# 将新的工作表定位为活动工作表
ws = wb[sheet3.title]
# 规范化视图 (因为所有的行都生产了数据,空间有点小)
ws.sheet_view.zoomScale = 80
ws['A1'] = "数字"
ws['B1'] = "阶乘"
# 写入公式
for i in range(2, 10):
ws.cell(column=1, row=i, value=i-1)
cell = ws.cell(column=2, row=i, value="=PRODUCT(1:A{0})".format(i-1))
cell.value = cell.value
wb.save(filename="example2.xlsx")
在这个例子中,我们使用Formula
单元格类型来声明使用的公式。程序将对前一列所包含的数字 执行一个阶乘运算,并将结果写入表格中。关于Formula
值类型的更多信息,请查阅openpyxl的文档。
除了这些例子中,openpyxl
还支持读取和操作xlsx表格中的大量原生功能,包括单元格合并、图表、数据筛选、突出显示等。
我希望这个实例教程能够帮助你使用python编写Excel表格文件,提高执行效率,对于了解openpyxl有更深的认识。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python写入Excel表格的方法详解 - Python技术站