三个令人惊叹的 Python 库
1. Humanize
Humanize”为数字、日期和时间提供简单、易于阅读的字符串格式。该库的是获取数据并使其更加人性化,例如,将秒数转换为更易读的字符串,例如“2 分钟前”。该库可以通过多种方式格式化数据,包括用逗号格式化数字、将时间戳转换为相对时间等等。
示例(整数)
# 导入库
import humanize
import datetime as dt
# 格式化数字
a = humanize.intcomma( 951009 )
# 将数字转换为句子
b = humanize.intword( 10046328394 )
print (a)
print (b)
输出
951,009
10.0 billion
示例(日期和时间)
import humanize
import datetime as dt
a = humanize.naturaldate(dt.date( 2012 , 6 , 5 ))
b = humanize.naturalday(dt.date( 2012 , 6 , 5 ))
print (a)
print (b)
输出
Jun 05 2012
Jun 05
2. Pendulum
Pendulum 扩展了内置的 Python datetime 模块,添加了更直观的 API,用于处理时区并对日期和时间执行操作,例如添加时间间隔、减去日期以及在时区之间进行转换。它提供了一个简单、人性化的 API,用于格式化日期和时间。例子
# 导入库
import pendulum
dt = pendulum.datetime( 2023 , 1 , 31 )
print (dt)
#local() 使用本地时区创建日期时间实例
local = pendulum.local( 2023 , 1 , 31 )
print ( "Local Time:" , local)
print ( "Local Time Zone:" , local.timezone.name)
# 打印 UTC 时间
utc = pendulum.now( 'UTC' )
print ( "Current UTC time:" , utc)
# 将 UTC 时区转换为欧洲/巴黎时间
europe = utc.in_timezone('Europe/Paris')
print ( "巴黎当前时间:" , europe)
输出
2023-01-31T00:00:00+00:00
Local Time: 2023-01-31T00:00:00+08:00
Local Time Zone: Asia/Shanghai
Current UTC time: 2023-10-08T07:41:14.184244+00:00
巴黎当前时间: 2023-10-08T09:41:14.184244+02:00
3. ftfy
Mojibake 是一个术语,用于描述由于编码或解码问题而出现的乱码或乱码文本。当以一种字符编码编写的文本使用不同的编码进行错误解码时,通常会发生这种情况。ftfy python 库将帮助您修复 Mojibake,这在 NLP 用例中非常有用。
例子
print (ftfy.fix_text( '使用“ftfy”更正句子。' ))
print (ftfy.fix_text( '“文字没有问题' ))
print (ftfy.fix_text( 'à pertuber la réflexion '))
输出
Correct the sentence using "ftfy".
No problems with text
à perturber la réflexion
除了 Mojibake 之外,ftfy 还修复不正确的编码、不正确的行结尾和不正确的引号。ftfy 可以解码以下任何编码的文本:
- Latin-1 (ISO-8859–1)
- Windows-1252(cp1252 — 用于 Microsoft 产品)
- Windows-1251(cp1251 — cp1252 的俄语版本)
- Windows-1250(cp1250 — cp1252 的东欧版本)
- ISO-8859–2(与 Windows-1250 不太一样)
- MacRoman(用于 Mac OS 9 及更早版本)
- cp437(用于 MS-DOS 和某些版本的 Windows 命令提示符)