利用Python将分组文本转为Excel的流程步骤

 更新时间:2025年07月15日 08:39:55   作者:PythonFun  
在英语学习过程中,我们经常会接触各种分组整理的词汇表,如果你下载了一个 .txt 格式的四级词汇表,打算分类整理后导入 Excel 学习软件中,大概率你会遇到格式杂乱、分组不清,所以本文给大家介绍了如何用 Python 脚本自动读取一份分组文本,需要的朋友可以参考下

一、背景引入:从“人工整理”到“自动化处理”的转变

在英语学习过程中,我们经常会接触各种分组整理的词汇表,比如“Group1”对应一组单词及释义,随后是“Group2”、“Group3”等等。如果你下载了一个 .txt 格式的四级词汇表,打算分类整理后导入 Excel 学习软件中,大概率你会遇到格式杂乱、分组不清、复制麻烦的问题。

这正是我们今天要解决的实际场景:如何用 Python 脚本自动读取一份分组文本,提取每组单词及释义,并导出为结构清晰、按组分类的 Excel 文件?

本文将通过一段简洁但实用的代码,为你完整拆解整个处理过程。只需一次点击,就能让海量词汇“格式整齐地排队”进入 Excel,开启你的高效学习之旅。

二、思路分析:我们到底要做什么?

整个任务可以分为以下几个步骤:

  1. 读取文本文件:读取本地 .txt 文件中的原始词汇数据。
  2. 按组分割内容:使用正则表达式识别每个 Group 的起始点,并提取组名与内容。
  3. 提取每行单词和释义:针对每组中的每一行,解析出单词与释义(考虑 Tab 和空格分隔)。
  4. 分组保存为 Excel Sheet:每个 Group 单独作为一个 Excel 的 Sheet 保存,输出为 .xlsx 文件。
  5. 打印结果提示:脚本执行完毕后,输出处理结果路径。

这不仅是一次对正则表达式和 pandas 的实战练习,也是一次程序自动化处理文本数据的典型示例。

三、具体功能实现:每一步都不马虎

1. 读取文本数据

with open("四级单词.txt", "r", encoding="utf-8") as file:
    raw_text = file.read()

这段代码打开并读取了名为《四级单词.txt》的文件内容。注意编码采用 UTF-8,防止中文乱码。

2. 利用正则表达式识别 Group 分组

pattern = r"(Group\d+)\n"
splits = re.split(pattern, raw_text)
  • 我们设定一个正则:Group 开头,后接数字,最后以换行结束。
  • 然后用 re.split 分割文本,这样就能将每组的组名和词条内容分开。

举个例子,原文本可能像这样:

Group1
apple	苹果
banana	香蕉
Group2
run	跑
jump	跳

经过 re.split 之后,splits 的结果会是:

['', 'Group1', 'apple\t苹果\nbanana\t香蕉', 'Group2', 'run\t跑\njump\t跳']

3. 将每组单词提取到字典中

grouped_data = defaultdict(list)
for i in range(1, len(splits), 2):
    group_name = splits[i]
    entries = splits[i + 1].strip().split("\n")
    for entry in entries:
        ...

利用 Python 的 defaultdict(list) 自动为每个组建立一个单词列表。

每个词条处理如下逻辑:

  • 优先使用 \t 制表符分隔;
  • 若没有 \t,尝试用空格分隔;
  • 去掉无效或空行,确保数据干净整洁。
if "\t" in entry:
    word, meaning = entry.split("\t", 1)
elif " " in entry:
    parts = entry.split(maxsplit=1)
    if len(parts) == 2:
        word, meaning = parts
    else:
        continue

这样处理后,每个分组会变成例如:

'Group1': [('apple', '苹果'), ('banana', '香蕉')]

4. 写入 Excel 文件,每组一个 Sheet

with pd.ExcelWriter(output_path) as writer:
    for group, word_list in grouped_data.items():
        df = pd.DataFrame(word_list)
        df.to_excel(writer, sheet_name=group, index=False, header=False)
  • 使用 pandas.ExcelWriter 写入 Excel。
  • 每个分组作为一个单独的 Sheet 页。
  • 不写入表头或行号,使数据更加简洁。

最终生成的文件结构清晰、美观,每页都是该组的词汇,便于记忆与分类学习。

5. 执行结果提示

print(f"转换完成,已保存为:{output_path}")

一个简单但贴心的用户提示,方便确认处理成功与结果文件位置。

四、代码展示:实用就是最好的美学

完整代码如下(可直接运行):

import re
import pandas as pd
from collections import defaultdict

with open("四级单词.txt", "r", encoding="utf-8") as file:
    raw_text = file.read()

pattern = r"(Group\d+)\n"
splits = re.split(pattern, raw_text)
grouped_data = defaultdict(list)

for i in range(1, len(splits), 2):
    group_name = splits[i]
    entries = splits[i + 1].strip().split("\n")
    for entry in entries:
        entry = entry.strip()
        if not entry:
            continue
        if "\t" in entry:
            word, meaning = entry.split("\t", 1)
        elif " " in entry:
            parts = entry.split(maxsplit=1)
            if len(parts) == 2:
                word, meaning = parts
            else:
                continue
        else:
            continue
        grouped_data[group_name].append((word.strip(), meaning.strip()))

output_path = "四级单词.xlsx"
with pd.ExcelWriter(output_path) as writer:
    for group, word_list in grouped_data.items():
        df = pd.DataFrame(word_list)
        df.to_excel(writer, sheet_name=group, index=False, header=False)

print(f"转换完成,已保存为:{output_path}")

五、学后总结:你收获了什么?

本脚本涵盖了多个关键技能点,值得初中级开发者好好吸收:

  • 正则表达式:熟练使用 re.split()re.match() 是文本解析的基础;
  • 文本清洗:处理不规则数据需要严谨的判断和预处理;
  • 数据结构选型defaultdict 是处理分组数据的神器;
  • pandas 应用:将数据写入 Excel 是最常见的自动化场景之一;
  • 代码可复用性强:换成词汇表、笔记数据、考试清单都能用!

拓展建议:

  • 增加错误日志,记录格式不规范的词条;
  • 支持中文注释与 Sheet 排序;
  • 加入 GUI 界面(如 Tkinter),一键操作更直观。

通过这一小项目,你不仅提升了文本处理能力,还掌握了数据清洗与文件导出的实用技巧。记住,编程的价值在于解决问题,而最能让你成长的,正是这种“从无到有”的小工具!

以上就是利用Python将分组文本转为Excel的流程步骤的详细内容,更多关于Python文本转为Excel的资料请关注脚本之家其它相关文章!

相关文章

  • Python库Theano深度神经网络的设计训练深入探究

    Python库Theano深度神经网络的设计训练深入探究

    Theano是一个用于深度学习的Python库,它提供了高效的数值计算和自动微分功能,使得深度神经网络的设计和训练变得更加容易,本文将深入探讨Theano的功能和用法,并提供丰富的示例代码,帮助大家入门深度学习
    2024-01-01
  • 浅析python继承与多重继承

    浅析python继承与多重继承

    在本篇文章中我们给大家分析了python继承与多重继承的相关知识点内容,有兴趣的读者们参考下。
    2018-09-09
  • Python 面向对象编程详解

    Python 面向对象编程详解

    这篇文章主要介绍了Python 面向对象编程详解的相关资料,需要的朋友可以参考下
    2022-12-12
  • Python Django框架介绍之模板标签及模板的继承

    Python Django框架介绍之模板标签及模板的继承

    今天给大家带来Python Django框架的相关知识,文中对模板标签及模板的继承介绍的非常详细,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • 在Python的Django框架中生成CSV文件的方法

    在Python的Django框架中生成CSV文件的方法

    这篇文章主要介绍了在Python的Django框架中生成CSV文件的方法,利用到了Python下的csv模块,需要的朋友可以参考下
    2015-07-07
  • python中自带的三个装饰器的实现

    python中自带的三个装饰器的实现

    这篇文章主要介绍了python中自带的三个装饰器的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • pygame实现俄罗斯方块游戏(基础篇1)

    pygame实现俄罗斯方块游戏(基础篇1)

    这篇文章主要为大家介绍了pygame实现俄罗斯方块游戏基础的第1篇,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python中return不返回值的问题解析

    python中return不返回值的问题解析

    在本篇文章里小编给各位分享的是一篇关于python中return不返回值的问题解析,需要的朋友们可以学习下。
    2020-07-07
  • 关于Python卷积函数详解

    关于Python卷积函数详解

    这篇文章主要介绍了Python关于卷积的理解,文中有详细的代码示例,具有很好的参考价值,希望对大家有所帮助
    2023-04-04
  • python在指定位置插入字符的实现

    python在指定位置插入字符的实现

    本文主要介绍了python在指定位置插入字符的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04

最新评论