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

Python漢字轉(zhuǎn)拼音pypinyin庫、輸出excel的xlwt庫

 更新時(shí)間:2025年04月19日 14:55:50   作者:DriverWon  
本文介紹了如何使用Python的pypinyin庫和xlwt庫,將漢字文本轉(zhuǎn)換為帶有拼音標(biāo)注的Excel文件,通過讀取文本、獲取拼音并寫入Excel,實(shí)現(xiàn)了漢字和拼音的一一對(duì)應(yīng),同時(shí),文章也指出了潛在的問題

一、為什么要搞?

前幾天有同學(xué)在討論家中小盆友的作業(yè)問題,說連一些拼音作業(yè)的難度已經(jīng)超出了能力范圍,感嘆自己已經(jīng)比不上現(xiàn)在的小學(xué)生了。聽得滋滋有味的我又產(chǎn)生了一個(gè)大膽的想法:

使用Python自動(dòng)在每個(gè)文字的上方標(biāo)注拼音

預(yù)期輸出示例如下:

Python實(shí)搞:自動(dòng)給文本標(biāo)注拼音并輸出excel_excel

二、準(zhǔn)備如何搞?

查閱一番資料后,發(fā)現(xiàn)一個(gè)神奇的庫:pypinyin,可以輕松將漢字文本轉(zhuǎn)換為拼音

先來安裝pypinyin

pip install pypinyin

這還不夠,要將文本和拼音輸出到文件,我想到了以下兩條路:

1.結(jié)果寫入到txt或者doc文件

2.結(jié)果寫入到excel表格

仔細(xì)思考后發(fā)現(xiàn)第一條路很難實(shí)現(xiàn)拼音和漢字的連續(xù)換行以及一一對(duì)應(yīng),而通過excel表格的話能輕松標(biāo)識(shí)漢字和拼音需要寫入的行和列

這里使用比較熟悉的xlwt模塊寫入excel,先來安裝

pip install xlwt

事先準(zhǔn)備了需要轉(zhuǎn)換的文本內(nèi)容test_file.txt,1000+漢字,手動(dòng)注音的話,那不得放個(gè)寒暑假了?。?/p>

Python實(shí)搞:自動(dòng)給文本標(biāo)注拼音并輸出excel_Python_02

三、說搞咱就搞!

文本讀取與預(yù)處理

使用with open方法打開文本,readlines方法讀取文本內(nèi)容

注意:文本內(nèi)容當(dāng)中包含換行符,這里做了去除處理

# 文本讀取與預(yù)處理
file = 'test_file.txt'
with open(file, 'r', encoding='utf-8') as f:
    text = f.readlines()
    f.close()
new_text = ''.join((''.join(text)).splitlines())  # 去除文本的換行符
print(new_text)

運(yùn)行效果:

Python實(shí)搞:自動(dòng)給文本標(biāo)注拼音并輸出excel_pypinyin_03

文本拼音獲取

一行代碼搞定(導(dǎo)庫不算哈)

from pypinyin import pinyin

text_pinyin = pinyin(new_text)
print(text_pinyin)

運(yùn)行結(jié)果:

Python實(shí)搞:自動(dòng)給文本標(biāo)注拼音并輸出excel_Python_04

結(jié)果excel輸出

我們闊以看到,漢字字?jǐn)?shù)和拼音數(shù)量是對(duì)得上的

list_length_hz = len(new_text)  # 漢字字?jǐn)?shù)
list_length_py = len(text_pinyin) # 拼音數(shù)量
print(f"漢字:{list_length_hz}")
print(f"拼音:{list_length_py}")

運(yùn)行結(jié)果:

Python實(shí)搞:自動(dòng)給文本標(biāo)注拼音并輸出excel_excel_05

先使用xlwt建立wookbook和worksheet

import xlwt

new_file = 'target.xls'
wb = xlwt.Workbook(encoding='utf-8')  # 新建工作簿
ws = wb.add_sheet('target_sheet', cell_overwrite_ok=True)  # 新建工作表

這里將漢字和拼音寫入到excel的  列*行=20*max_row 的單元格中,先設(shè)置列數(shù)并根據(jù)拼音數(shù)量獲取最大行數(shù)

import math

num_cols = 20  # 列數(shù)
num_rows = math.ceil(list_length_py / 20)  # 最大行數(shù),不足20補(bǔ)一行

然后將漢字寫入Excel工作表的奇數(shù)行

for i in range(num_rows):
    for j in range(num_cols):
        # 獲取漢字列表值,若索引超出范圍則使用空字符串代替
        v = '' if i * num_cols + j >= list_length_hz else new_text[i * num_cols + j]
        # 將值寫入單元格的奇數(shù)行中
        ws.write(i*2+1, j, v)

再將拼音寫入Excel工作表的偶數(shù)行

for i in range(num_rows):
    for j in range(num_cols):
        # 獲取漢字列表值,若索引超出范圍則使用空字符串代替
        v = '' if i * num_cols + j >= list_length_py else text_pinyin[i * num_cols + j]
        # 將值寫入單元格的偶數(shù)行中
        ws.write(i*2, j, v)

最后將工作簿保存為excel

wb.save(new_file)

excel結(jié)果文件示例如下:

Python實(shí)搞:自動(dòng)給文本標(biāo)注拼音并輸出excel_excel_06

四、搞完收工!

1.使用pypin庫一行代碼輕松實(shí)現(xiàn)文本轉(zhuǎn)拼音

2.使用xlwt庫輸出excel結(jié)果文件,將對(duì)應(yīng)的拼音標(biāo)注到每個(gè)漢字的上方

3.問題:若文本內(nèi)容中包含連續(xù)的無法轉(zhuǎn)換為拼音的字符,會(huì)造成拼音和漢字不能一一對(duì)應(yīng)

到此這篇關(guān)于Python漢字轉(zhuǎn)拼音pypinyin庫、輸出excel的xlwt庫的文章就介紹到這了,更多相關(guān)Python漢字轉(zhuǎn)拼音pypinyin、excel的xlwt庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pandas之分組統(tǒng)計(jì)列聯(lián)表pd.crosstab()問題

    pandas之分組統(tǒng)計(jì)列聯(lián)表pd.crosstab()問題

    這篇文章主要介紹了pandas之分組統(tǒng)計(jì)列聯(lián)表pd.crosstab()問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 利用pandas合并多個(gè)excel的方法示例

    利用pandas合并多個(gè)excel的方法示例

    這篇文章主要介紹了利用pandas合并多個(gè)excel的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python Tkinter Menu組件詳解

    Python Tkinter Menu組件詳解

    這篇文章主要介紹了Python TkinterMenu 組件用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-10-10
  • 解決torch.autograd.backward中的參數(shù)問題

    解決torch.autograd.backward中的參數(shù)問題

    今天小編就為大家分享一篇解決torch.autograd.backward中的參數(shù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python標(biāo)準(zhǔn)庫uuid模塊(生成唯一標(biāo)識(shí))詳解

    Python標(biāo)準(zhǔn)庫uuid模塊(生成唯一標(biāo)識(shí))詳解

    uuid通過Python標(biāo)準(zhǔn)庫的uuid模塊生成通用唯一ID(或“UUID”)的一種快速簡便的方法,下面這篇文章主要給大家介紹了關(guān)于Python標(biāo)準(zhǔn)庫uuid模塊(生成唯一標(biāo)識(shí))?的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python調(diào)整數(shù)組形狀如何實(shí)現(xiàn)

    Python調(diào)整數(shù)組形狀如何實(shí)現(xiàn)

    這篇文章主要介紹了Python調(diào)整數(shù)組形狀如何實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • Python爬蟲設(shè)置代理IP(圖文)

    Python爬蟲設(shè)置代理IP(圖文)

    在本篇內(nèi)容里小編給大家分享了關(guān)于Python爬蟲設(shè)置代理IP的相關(guān)知識(shí)點(diǎn)和步驟,需要的朋友們參考下。
    2018-12-12
  • 基于OpenCV4.2實(shí)現(xiàn)單目標(biāo)跟蹤

    基于OpenCV4.2實(shí)現(xiàn)單目標(biāo)跟蹤

    這篇文章主要介紹了如何和何時(shí)使用OpenCV 4.2中可用的8種不同的跟蹤器- BOOSTING, MIL, KCF, TLD, MEDIANFLOW, GOTURN, MOSSE和CSRT,并用他們實(shí)現(xiàn)單目標(biāo)跟蹤,需要的可以參考一下
    2022-03-03
  • django中使用POST方法獲取POST數(shù)據(jù)

    django中使用POST方法獲取POST數(shù)據(jù)

    這篇文章主要介紹了django中使用POST方法獲取POST數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python基礎(chǔ)之函數(shù)用法實(shí)例詳解

    Python基礎(chǔ)之函數(shù)用法實(shí)例詳解

    這篇文章主要介紹了Python中函數(shù)用法,包括了函數(shù)的創(chuàng)建、定義、參數(shù)等,需要的朋友可以參考下
    2014-09-09

最新評(píng)論

洛宁县| 辛集市| 建始县| 麦盖提县| 安庆市| 吉首市| 湖口县| 松阳县| 海淀区| 黔西| 北流市| 垦利县| 富蕴县| 古田县| 通渭县| 嫩江县| 嵩明县| 洪湖市| 元朗区| 淄博市| 东方市| 龙胜| 正定县| 密云县| 疏附县| 故城县| 三河市| 河津市| 保康县| 青州市| 广饶县| 黔东| 内江市| 陇西县| 绥滨县| 调兵山市| 通州市| 平度市| 堆龙德庆县| 威远县| 庆城县|