原文里面说的很详细了,不废话,上代码
import csv
with open('pinyin.csv', 'r', encoding='gbk') as f:
f_csv = csv.reader(f)
r = {row[0]: row[1] for row in f_csv}
def str2pinyin(s: str) -> str:
"""字符串转拼音"""
# get里面的默认值y可以替换成各种需要的表达式,用以转换非中文字符
return ''.join(map(lambda x: r.get(x, x), list(s)))
有了这个,排序的话就很简单了
something.sort(key=lambda x: str2pinyin(x.bankName))
附件
pinyin.csv 百度网盘 5vb0 CSDN下载
pinyin_all.csv 百度网盘 refz CSDN下载
注意:用excel保存csv长数字会变成科学计数法
区别