下面是Python操作Excel把数据分给sheet的完整实例教程。
1. 准备工作
在开始操作Excel之前,需要安装Python中的xlwt库和xlrd库。可以通过在命令行中运行以下命令来安装:
pip install xlwt
pip install xlrd
2. 创建Excel文件和sheet
首先,我们通过使用xlwt库创建一个Excel文件并创建两个sheet,并分别命名为“Sheet1”和“Sheet2”:
import xlwt
# 创建一个新的Excel文件
book = xlwt.Workbook(encoding='utf-8')
# 创建两个sheet
sheet1 = book.add_sheet('Sheet1')
sheet2 = book.add_sheet('Sheet2')
3. 准备数据
在操作Excel之前,需要准备数据。这里我们假设数据已经准备好,存储在一个列表中:
data = [
['编号', '姓名', '年龄', '性别'],
[1001, '张三', 20, '男'],
[1002, '李四', 22, '女'],
[1003, '王五', 24, '男'],
[1004, '赵六', 26, '女']
]
4. 向sheet中写入数据
接下来,我们需要将数据写入到sheet中。这里我们可以使用xlwt库提供的write方法来写入数据:
# 写入Sheet1
for i, row in enumerate(data):
for j, col in enumerate(row):
sheet1.write(i, j, col)
# 写入Sheet2
for i, row in enumerate(data):
for j, col in enumerate(row):
sheet2.write(j, i, col)
在上面的示例中,我们使用了两个for循环来遍历数据列表中的所有行和列,并使用sheet的write方法将每个单元格中的数据写入到对应的位置中。
其中,第一段代码将数据写入到Sheet1中,第二段代码将数据转置后写入到Sheet2中。
5. 保存Excel文件
完成数据的写入后,我们需要将数据保存到Excel文件中。可以使用xlwt库提供的save方法来保存文件:
book.save('data.xlsx')
在上面的示例中,我们将文件保存到data.xlsx文件中。
示例说明
为了更好的理解如何将数据分给sheet,这里举两个例子说明。
示例1:数据分给不同的sheet
假设我们有一个存储了很多学生信息的数据列表,我们需要将性别为男的学生信息放到Sheet1中,性别为女的学生信息放到Sheet2中。
# 学生信息
students = [
['编号', '姓名', '年龄', '性别'],
[1001, '张三', 20, '男'],
[1002, '李四', 22, '女'],
[1003, '王五', 24, '男'],
[1004, '赵六', 26, '女']
]
# 创建一个新的Excel文件
book = xlwt.Workbook(encoding='utf-8')
# 创建两个sheet
sheet1 = book.add_sheet('男生信息')
sheet2 = book.add_sheet('女生信息')
# 将数据分别写入到不同的sheet中
for i, row in enumerate(students):
if row[-1] == '男':
for j, col in enumerate(row):
sheet1.write(i, j, col)
elif row[-1] == '女':
for j, col in enumerate(row):
sheet2.write(i, j, col)
# 保存Excel文件
book.save('students.xlsx')
在上面的示例中,我们首先根据性别将学生信息分成两类,然后将每类学生信息分别写入到不同的sheet中,最后将数据保存到Excel文件中。
示例2:数据分组后分别写入到sheet中
假设我们有一个存储了很多商品信息的数据列表,我们需要根据商品类型将商品信息分组,并将每个商品类型的信息分别写入到不同的sheet中。
# 商品信息
goods = [
['商品编号', '商品名称', '商品类型', '商品价格'],
[1001, '手机', '电子产品', 1999],
[1002, '电视', '电子产品', 2799],
[1003, '衣服', '服装', 98],
[1004, '鞋子', '服装', 398]
]
# 创建一个新的Excel文件
book = xlwt.Workbook(encoding='utf-8')
# 根据商品类型将商品信息分组
groups = {}
for row in goods[1:]:
if row[2] in groups:
groups[row[2]].append(row)
else:
groups[row[2]] = [row]
# 将每个组的商品信息写入到不同的sheet中
for key, value in groups.items():
sheet = book.add_sheet(key)
for i, row in enumerate(value):
for j, col in enumerate(row):
sheet.write(i, j, col)
# 保存Excel文件
book.save('goods.xlsx')
在上面的示例中,我们首先将商品信息按照商品类型分组,并将每个组的商品信息用一个字典来表示。然后,我们遍历每个组的商品信息,并将每个组的商品信息分别写入到不同的sheet中,最后将数据保存到Excel文件中。
这个示例用到了字典、for循环嵌套等知识点,有一定难度。需要逐步理解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python操作Excel把数据分给sheet - Python技术站