欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、為什么要搞?

前幾天有同學(xué)在討論家中小盆友的作業(yè)問題,說(shuō)連一些拼音作業(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è)神奇的庫(kù):pypinyin,可以輕松將漢字文本轉(zhuǎn)換為拼音

先來(lái)安裝pypinyin

pip install pypinyin

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

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

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

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

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

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

三、說(shuō)搞咱就搞!

文本讀取與預(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)庫(kù)不算哈)

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庫(kù)一行代碼輕松實(shí)現(xiàn)文本轉(zhuǎn)拼音

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

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

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

相關(guān)文章

  • Python數(shù)據(jù)結(jié)構(gòu)之遞歸方法詳解

    Python數(shù)據(jù)結(jié)構(gòu)之遞歸方法詳解

    這篇文章主要為大家介紹了遞歸的基本概念以及如何構(gòu)建遞歸程序。通過(guò)本章的學(xué)習(xí),大家可以理解遞歸的基本概念,了解遞歸背后蘊(yùn)含的編程思想以及掌握構(gòu)建遞歸程序的方法,需要的可以參考一下
    2022-04-04
  • Python 將RGB圖像轉(zhuǎn)換為Pytho灰度圖像的實(shí)例

    Python 將RGB圖像轉(zhuǎn)換為Pytho灰度圖像的實(shí)例

    下面小編就為大家?guī)?lái)一篇Python 將RGB圖像轉(zhuǎn)換為Pytho灰度圖像的實(shí)例。具有很好的參考價(jià)值。希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 給ubuntu18安裝python3.7的詳細(xì)教程

    給ubuntu18安裝python3.7的詳細(xì)教程

    這篇文章主要介紹了給ubuntu18安裝python3.7的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python學(xué)習(xí)之panda數(shù)據(jù)分析核心支持庫(kù)

    python學(xué)習(xí)之panda數(shù)據(jù)分析核心支持庫(kù)

    這篇文章主要給大家介紹了關(guān)于python學(xué)習(xí)之panda數(shù)據(jù)分析核心支持庫(kù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • python直接獲取API傳遞回來(lái)的參數(shù)方法

    python直接獲取API傳遞回來(lái)的參數(shù)方法

    今天小編就為大家分享一篇python直接獲取API傳遞回來(lái)的參數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 35個(gè)Python編程小技巧

    35個(gè)Python編程小技巧

    從我開始學(xué)習(xí)python的時(shí)候,我就開始自己總結(jié)一個(gè)python小技巧的集合。后來(lái)當(dāng)我什么時(shí)候在Stack Overflow或者在某個(gè)開源軟件里看到一段很酷代碼的時(shí)候,我就很驚訝:原來(lái)還能這么做!,當(dāng)時(shí)我會(huì)努力的自己嘗試一下這段代碼,直到我懂了它的整體思路以后,我就把這段代碼加到我的集合里
    2014-04-04
  • python對(duì)數(shù)組進(jìn)行排序,并輸出排序后對(duì)應(yīng)的索引值方式

    python對(duì)數(shù)組進(jìn)行排序,并輸出排序后對(duì)應(yīng)的索引值方式

    今天小編就為大家分享一篇python對(duì)數(shù)組進(jìn)行排序,并輸出排序后對(duì)應(yīng)的索引值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python3.10安裝圖文教程

    Python3.10安裝圖文教程

    本文主要介紹了Python3.10安裝圖文教程,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • python+PyQt5 左右聲道測(cè)試源代碼

    python+PyQt5 左右聲道測(cè)試源代碼

    這篇文章主要介紹了python+PyQt5 左右聲道測(cè)試源代碼,左聲道,人機(jī)交互測(cè)試,點(diǎn)擊右邊聽到的對(duì)應(yīng)序號(hào)按鈕,對(duì)python左右聲道測(cè)試感興趣的朋友一起看看吧
    2024-02-02
  • Python讀寫文件模式和文件對(duì)象方法實(shí)例詳解

    Python讀寫文件模式和文件對(duì)象方法實(shí)例詳解

    這篇文章主要介紹了Python讀寫文件模式和文件對(duì)象方法,結(jié)合實(shí)例形式詳細(xì)分析了Python文件操作常用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2019-09-09

最新評(píng)論