已解决(Python cn2an库实现中文数字与阿拉伯数字互转)ValueError: mode 仅支持 [‘low‘, ‘up‘, ‘rmb‘, ‘direct‘]
已解决(Python cn2an库实现中文数字与阿拉伯数字互转)ValueError: mode 仅支持 [‘low‘, ‘up‘, ‘rmb‘, ‘direct‘]
报错内容
粉丝群里面的一个小伙伴想用python,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错代码如下::
import re
import cn2an
a = ['1百23', '一万二', '37.30万', '五千三百二十', '24910.16', '5000.00']
for i in a:
output = cn2an.an2cn(i, "smart")
print(output)
报错信息:
raise ValueError(f"mode 仅支持 {str(self.mode_list)} !")
ValueError: mode 仅支持 ['low', 'up', 'rmb', 'direct'] !
报错翻译
报错内容翻译:值错误:模式仅支持 [“低”,“上”,“人民币”,“直接”]
报错原因
报错原因:cn2an.an2cn
是将阿拉伯数字转化为小写的中文数字,并不能将中文数字转换为阿拉伯数字
解决方法
cn2an.cn2an(inputs,mode)
才是将中文数字转阿拉伯数字。
参数解读:
-
inputs
类型为字符串,需要转换的字符串
-
mode
类型为字符串,mode仅支持strict
(严格模式),normal
(正常模式),smart
(灵活模式)等三个值。
修改代码为:
import re
import cn2an
a = ['1百23', '一万二', '37.30万', '五千三百二十', '24910.16', '5000.00']
for i in a:
output = cn2an.cn2an(i, "smart")
print(output)
再次运行成功:
123
12000
373000
5320
24910.16
5000.0
import re
import cn2an
# 一、实现中文数字转阿拉伯数字
a = ['1百23', '一万二', '37.30万', '五千三百二十', '24910.16', '5000.00']
for i in a:
output = cn2an.cn2an(i, "smart")
print(output)
print("-"*30)
# 二、句子中的数字转换与提取
b = ['赔偿经济损失人民币37.30万元', '赔偿差旅费五千三百二十元', '赔偿损失24910.16元', '赔偿经济损失(含合理支出)5000.00元']
for i in b:
output = cn2an.transform(i)
print(output)
money = re.findall("\d*\.*\d*万*", output)
money = ''.join(money)
money = cn2an.cn2an(money, "smart")
print(money)
123
12000
373000
5320
24910.16
5000.0
------------------------------
WARN: 不符合格式的数据:万
赔偿经济损失人民币37.30万元
373000
赔偿差旅费5320元
5320.0
赔偿损失24910.16元
24910.16
赔偿经济损失(含合理支出)5000.00元
5000.0
以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,如果有用欢迎点赞收藏文章谢谢支持,博主才有动力持续记录遇到的问题!!!
千人全栈VIP答疑群联系博主帮忙解决报错
由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复,所以优先回复VIP粉丝,可以通过订阅限时9.9付费专栏《100天精通Python从入门到就业》进入千人全栈VIP答疑群,获得优先解答机会(代码指导、远程服务),白嫖80G学习资料大礼包,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html
-
优点:作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会),此专栏文章是专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试!
-
专栏福利:简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
-
相关文章
- vue django mysql_Python MySQL
- python实现矩阵的转置_Python实现矩阵转置的方法分析
- 【说站】python解释器如何实现字典合并
- 【说站】python marshmallow如何提供默认值
- 【说站】python语句和缩进的实现
- 【说站】python OpenCV加法操作的实现
- python zipfile_Python 学习入门(16)—— zipfile
- python程序化交易实例-用 Python 实现你的量化交易策略「建议收藏」
- python定义函数求和_Python定义函数实现累计求和操作
- Python 使用Scapy解析TTL值
- Python 实现文件关键字扫描
- 汉诺塔Python实现详解编程语言
- python通过openpyxl生成Excel文件详解编程语言
- Linux环境下安装Python(linux装python)
- setV:一个管理 Python 虚拟环境的 Bash 函数
- Python 与 Redis 数据库相结合:py redis 的使用方法简介(pyredis)
- python实现360皮肤按钮控件示例
- Python实现的简单万年历例子分享
- python刷投票的脚本实现代码
- Python实现的下载8000首儿歌的代码分享