概要
今天主要做的是一个关于课程学习练习的案例。在群聊中收集各位同学所发送的姓名,学号,性别等信息,然后放入到记事本中,将其转化到Excel表格中。虽然在整理好记事本的数据后,数据之间有逗号相连。虽然可以直接导入到Excel表格,然后通过【分列】功能解决,但今天主要还是练习使用python。
数据
代码
import openpyxl
import re
# 打开txt文件
with open('C:\\Users\\慢慢\\Desktop\\数据.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
# 创建一个新的Excel工作簿
workbook = openpyxl.Workbook()
sheet = workbook.active
# 写入表头
sheet.cell(row=1, column=1, value='姓名')
sheet.cell(row=1, column=2, value='学号')
sheet.cell(row=1, column=3, value='性别')
# 遍历txt文件中的每一行
for i, line in enumerate(lines, start=2):
# 去除行末的换行符
line = line.strip()
# 按照逗号进行分割
parts = line.split(',')
# 使用正则表达式提取姓名、学号和性别
name_match = re.search(r'[\u4e00-\u9fa5]+', parts[0])
name = name_match.group() if name_match else ''
student_id_match = re.search(r'\d+', line)
student_id = student_id_match.group() if student_id_match else ''
gender_match = re.search(r'男|女', parts[-1])
gender = gender_match.group() if gender_match else ''
# 姓名列最后的逗号只有在不是最后一行数据的情况下才需要删除
if i < len(lines):
name = name.rstrip(',')
# 将数据写入Excel表格
sheet.cell(row=i, column=1, value=name)
sheet.cell(row=i, column=2, value=student_id)
sheet.cell(row=i, column=3, value=gender)
# 保存Excel文件
workbook.save('C:\\Users\\慢慢\\Desktop\\数据1.xlsx') # 修改为xlsx格式
print("数据已成功写入Excel文件!")