python脚本,将一个文本中所有开头发音相同的词归到同一行

如图,左边是待处理文本,右边是结果,空格分隔... 如图,左边是待处理文本,右边是结果,空格分隔 展开
 我来答
繁简知音
2018-07-11 · TA获得超过174个赞
知道小有建树答主
回答量:168
采纳率:91%
帮助的人:110万
展开全部

解决方案如下:

  1. 使用pip安装程序所依赖的汉字转拼音库pypinyin:

pip install pypinyin

2. 代码如下:

from pypinyin import lazy_pinyin

table = {}
with open('in.txt','r', encoding='utf-8') as f:
    for line in f:
        line = line.strip()
        key = lazy_pinyin(line[0])[0]
        if table.get(key):
            table[key].append(line)
        else :
            table[key] = [line]
with open('result.txt','w',encoding='utf-8') as f:
    for key in table:
        f.write(key)
        for v in table[key]:
            f.write(' ' + v)
        f.write('\n')

注意:

  1. 根据需要将代码中的in.txt修改为你要导入的文件名

  2. 要导入的文件编码需要先转换为utf-8格式

  3. 输出文件名为result.txt,编码格式为utf-8

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式