最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python將分組文本轉(zhuǎn)為Excel的流程步驟

 更新時(shí)間:2025年07月15日 08:39:55   作者:PythonFun  
在英語(yǔ)學(xué)習(xí)過(guò)程中,我們經(jīng)常會(huì)接觸各種分組整理的詞匯表,如果你下載了一個(gè) .txt 格式的四級(jí)詞匯表,打算分類整理后導(dǎo)入 Excel 學(xué)習(xí)軟件中,大概率你會(huì)遇到格式雜亂、分組不清,所以本文給大家介紹了如何用 Python 腳本自動(dòng)讀取一份分組文本,需要的朋友可以參考下

一、背景引入:從“人工整理”到“自動(dòng)化處理”的轉(zhuǎn)變

在英語(yǔ)學(xué)習(xí)過(guò)程中,我們經(jīng)常會(huì)接觸各種分組整理的詞匯表,比如“Group1”對(duì)應(yīng)一組單詞及釋義,隨后是“Group2”、“Group3”等等。如果你下載了一個(gè) .txt 格式的四級(jí)詞匯表,打算分類整理后導(dǎo)入 Excel 學(xué)習(xí)軟件中,大概率你會(huì)遇到格式雜亂、分組不清、復(fù)制麻煩的問(wèn)題。

這正是我們今天要解決的實(shí)際場(chǎng)景:如何用 Python 腳本自動(dòng)讀取一份分組文本,提取每組單詞及釋義,并導(dǎo)出為結(jié)構(gòu)清晰、按組分類的 Excel 文件?

本文將通過(guò)一段簡(jiǎn)潔但實(shí)用的代碼,為你完整拆解整個(gè)處理過(guò)程。只需一次點(diǎn)擊,就能讓海量詞匯“格式整齊地排隊(duì)”進(jìn)入 Excel,開啟你的高效學(xué)習(xí)之旅。

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

整個(gè)任務(wù)可以分為以下幾個(gè)步驟:

  1. 讀取文本文件:讀取本地 .txt 文件中的原始詞匯數(shù)據(jù)。
  2. 按組分割內(nèi)容:使用正則表達(dá)式識(shí)別每個(gè) Group 的起始點(diǎn),并提取組名與內(nèi)容。
  3. 提取每行單詞和釋義:針對(duì)每組中的每一行,解析出單詞與釋義(考慮 Tab 和空格分隔)。
  4. 分組保存為 Excel Sheet:每個(gè) Group 單獨(dú)作為一個(gè) Excel 的 Sheet 保存,輸出為 .xlsx 文件。
  5. 打印結(jié)果提示:腳本執(zhí)行完畢后,輸出處理結(jié)果路徑。

這不僅是一次對(duì)正則表達(dá)式和 pandas 的實(shí)戰(zhàn)練習(xí),也是一次程序自動(dòng)化處理文本數(shù)據(jù)的典型示例。

三、具體功能實(shí)現(xiàn):每一步都不馬虎

1. 讀取文本數(shù)據(jù)

with open("四級(jí)單詞.txt", "r", encoding="utf-8") as file:
    raw_text = file.read()

這段代碼打開并讀取了名為《四級(jí)單詞.txt》的文件內(nèi)容。注意編碼采用 UTF-8,防止中文亂碼。

2. 利用正則表達(dá)式識(shí)別 Group 分組

pattern = r"(Group\d+)\n"
splits = re.split(pattern, raw_text)
  • 我們?cè)O(shè)定一個(gè)正則:Group 開頭,后接數(shù)字,最后以換行結(jié)束。
  • 然后用 re.split 分割文本,這樣就能將每組的組名和詞條內(nèi)容分開。

舉個(gè)例子,原文本可能像這樣:

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

經(jīng)過(guò) re.split 之后,splits 的結(jié)果會(huì)是:

['', '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) 自動(dòng)為每個(gè)組建立一個(gè)單詞列表。

每個(gè)詞條處理如下邏輯:

  • 優(yōu)先使用 \t 制表符分隔;
  • 若沒有 \t,嘗試用空格分隔;
  • 去掉無(wú)效或空行,確保數(shù)據(jù)干凈整潔。
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

這樣處理后,每個(gè)分組會(huì)變成例如:

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

4. 寫入 Excel 文件,每組一個(gè) 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。
  • 每個(gè)分組作為一個(gè)單獨(dú)的 Sheet 頁(yè)。
  • 不寫入表頭或行號(hào),使數(shù)據(jù)更加簡(jiǎn)潔。

最終生成的文件結(jié)構(gòu)清晰、美觀,每頁(yè)都是該組的詞匯,便于記憶與分類學(xué)習(xí)。

5. 執(zhí)行結(jié)果提示

print(f"轉(zhuǎn)換完成,已保存為:{output_path}")

一個(gè)簡(jiǎn)單但貼心的用戶提示,方便確認(rèn)處理成功與結(jié)果文件位置。

四、代碼展示:實(shí)用就是最好的美學(xué)

完整代碼如下(可直接運(yùn)行):

import re
import pandas as pd
from collections import defaultdict

with open("四級(jí)單詞.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 = "四級(jí)單詞.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"轉(zhuǎn)換完成,已保存為:{output_path}")

五、學(xué)后總結(jié):你收獲了什么?

本腳本涵蓋了多個(gè)關(guān)鍵技能點(diǎn),值得初中級(jí)開發(fā)者好好吸收:

  • 正則表達(dá)式:熟練使用 re.split()re.match() 是文本解析的基礎(chǔ);
  • 文本清洗:處理不規(guī)則數(shù)據(jù)需要嚴(yán)謹(jǐn)?shù)呐袛嗪皖A(yù)處理;
  • 數(shù)據(jù)結(jié)構(gòu)選型defaultdict 是處理分組數(shù)據(jù)的神器;
  • pandas 應(yīng)用:將數(shù)據(jù)寫入 Excel 是最常見的自動(dòng)化場(chǎng)景之一;
  • 代碼可復(fù)用性強(qiáng):換成詞匯表、筆記數(shù)據(jù)、考試清單都能用!

拓展建議:

  • 增加錯(cuò)誤日志,記錄格式不規(guī)范的詞條;
  • 支持中文注釋與 Sheet 排序;
  • 加入 GUI 界面(如 Tkinter),一鍵操作更直觀。

通過(guò)這一小項(xiàng)目,你不僅提升了文本處理能力,還掌握了數(shù)據(jù)清洗與文件導(dǎo)出的實(shí)用技巧。記住,編程的價(jià)值在于解決問(wèn)題,而最能讓你成長(zhǎng)的,正是這種“從無(wú)到有”的小工具!

以上就是利用Python將分組文本轉(zhuǎn)為Excel的流程步驟的詳細(xì)內(nèi)容,更多關(guān)于Python文本轉(zhuǎn)為Excel的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)統(tǒng)計(jì)文章閱讀量的方法詳解

    Python實(shí)現(xiàn)統(tǒng)計(jì)文章閱讀量的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何溧陽(yáng)Python語(yǔ)言實(shí)現(xiàn)統(tǒng)計(jì)文章閱讀量的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-02-02
  • 如何通過(guò)Python實(shí)現(xiàn)一個(gè)消息隊(duì)列

    如何通過(guò)Python實(shí)現(xiàn)一個(gè)消息隊(duì)列

    這篇文章主要為大家詳細(xì)介紹了如何通過(guò)Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的消息隊(duì)列,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • python獲取網(wǎng)頁(yè)狀態(tài)碼示例

    python獲取網(wǎng)頁(yè)狀態(tài)碼示例

    這篇文章主要介紹了python獲取網(wǎng)頁(yè)狀態(tài)碼示例,只需要2行代碼就可實(shí)現(xiàn)想要的功能,需要的朋友可以參考下
    2014-03-03
  • python爬蟲把url鏈接編碼成gbk2312格式過(guò)程解析

    python爬蟲把url鏈接編碼成gbk2312格式過(guò)程解析

    這篇文章主要介紹了python爬蟲把url鏈接編碼成gbk2312格式過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python刪除字典指定字段的六種方法詳解

    python刪除字典指定字段的六種方法詳解

    這篇文章主要為大家詳細(xì)介紹了python刪除字典指定字段的六種相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-02-02
  • Pandas空值處理全攻略

    Pandas空值處理全攻略

    在進(jìn)行數(shù)據(jù)分析和建模時(shí),空值的存在會(huì)給結(jié)果帶來(lái)很大影響,本文主要介紹了Pandas空值處理全攻略,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • Pandas對(duì)多列使用條件判斷新增列方式

    Pandas對(duì)多列使用條件判斷新增列方式

    用戶通過(guò)借鑒貼吧提問(wèn)和回復(fù),利用Pandas的df.apply結(jié)合lambda函數(shù),根據(jù)子公司(A/B/C)及銷售額≥1000的條件,新增"子公司規(guī)模"列,實(shí)現(xiàn)數(shù)據(jù)篩選與標(biāo)記功能
    2025-09-09
  • 零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁(yè)內(nèi)容

    零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁(yè)內(nèi)容

    文章詳細(xì)介紹了在python2.5環(huán)境下,如何使用urllib2這個(gè)python自帶的組件進(jìn)行抓取指定網(wǎng)頁(yè)內(nèi)容的,整個(gè)過(guò)程記錄的非常的詳細(xì),也很簡(jiǎn)單,有需要的朋友可以參考下,寫出自己的python爬蟲
    2014-11-11
  • Python?Jinja2?庫(kù)靈活性廣泛性應(yīng)用場(chǎng)景實(shí)例解析

    Python?Jinja2?庫(kù)靈活性廣泛性應(yīng)用場(chǎng)景實(shí)例解析

    Jinja2,作為Python中最流行的模板引擎之一,為開發(fā)者提供了強(qiáng)大的工具,用于在Web應(yīng)用和其他項(xiàng)目中生成動(dòng)態(tài)內(nèi)容,本文將深入研究?Jinja2?庫(kù)的各個(gè)方面,提供更豐富的示例代碼,能夠充分理解其靈活性和廣泛應(yīng)用的場(chǎng)景
    2024-01-01
  • Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作示例

    Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作示例

    這篇文章主要介紹了Python 異常的捕獲、異常的傳遞與主動(dòng)拋出異常操作,結(jié)合實(shí)例形式詳細(xì)分析了Python針對(duì)異常捕獲、傳遞、處理等常見操作技巧,需要的朋友可以參考下
    2019-09-09

最新評(píng)論

宜宾县| 旬邑县| 淮南市| 商水县| 桐柏县| 北安市| 安宁市| 黑水县| 尖扎县| 巨野县| 略阳县| 清镇市| 东城区| 镇远县| 新乐市| 三穗县| 阿克苏市| 张家川| 长兴县| 永安市| 黎城县| 台湾省| 宁化县| 灵石县| 宜都市| 怀安县| 正定县| 柘荣县| 洪江市| 兰西县| 德钦县| 会东县| 灯塔市| 金湖县| 永登县| 上思县| 甘孜县| 江都市| 筠连县| 山东省| 兴安县|