利用python将记事本文件数据转到excel表格

概要

今天主要做的是一个关于课程学习练习的案例。在群聊中收集各位同学所发送的姓名,学号,性别等信息,然后放入到记事本中,将其转化到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文件!")

结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值