pypinyin |将得到的中文转化成拼音形式的字符串(详细过程+代码)

为了获得所爬数据对应的网页url,我要将输入的城市中文名转换成对应拼音形式
如:输入“重庆”,我需要的到的是’chongqing’

过程描述:
1.重庆->[‘chong’, ‘qing’]
python的库真是好用,pypinyin和xpinyin都有这个功能,在这选用前者pypinyin
依然是用这里第一个方法安装pypinyin库:pip install pypinyin
在这里插入图片描述
安装成功后,导入库

""" 将城市的中文转换成拼音 """
# from pypinyin import pinyin
from pypinyin import lazy_pinyin

我选择的是导入pypinyin里面的 lazy_pinyin函数,这个函数的返回结果是不含声调的(因为我这里不需要声调,如果需要的话就应该导入pinyin函数而不是lazy_pinyin)
我将得到的中文“重庆” 存储在city变量里面

city=request.form.get('city')

这个时候如果直接写

city=lazy_pinyin(city)
print(city)

print结果是列表 [‘chong’, ‘qing’],因为lazy_pinyin函数默认返回列表,所以还要对数据进行进一步处理

2. [‘chong’, ‘qing’] ->'chongqing’
将列表转换成字符串

    #由s将列表里面的数据一个一个连接起来成字符串
    s = ''
    for i in lazy_pinyin(city):
        s += ''.join(i)
    city=s
    print(city)

这时候输出结果就是字符串’chongqing’

全部代码:

    city=request.form.get('city')
    #将城市的中文转换成拼音,便于得到要查找的网站url
    #因为得到的是列表,如:重庆->['chong', 'qing'],所以数据要处理一下 
    s = ''
    for i in lazy_pinyin(city):
        s += ''.join(i)
    city=s
    #print(city)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值