玩命加载中 . . .

读Excel

xlrd

安装

#安装1.2.0版本,高版本不支持xlsx格式,说是xlsx安全性问题故不支持xlsx格式了,但自己使用就无所谓了
pip install xlrd==1.2.0

问题:使用python3.9读取excel时报错AttributeError: ‘ElementTree’ object has no attribute ‘getiterator’

解决办法:在新版python3.9中,windows中使用的更新删除了getiterator方法,所以我们老版本的xlrd库调用getiterator方法时会报错。打开xlrd库路径下的xlrd.py文件,将所有的getiterator()替换成iter(),总共有2处

安装

pip install googletrans==4.0.0rc1

使用

from googletrans import Translator 

translator = Translator(service_urls=[ 
    'translate.google.cn' 
]) 

print(translator.translate('中国人'))   #Translated(src=zh-CN, dest=en, text=Chinese people, pronunciation=None, extra_data="{'confiden...")
print(translator.translate('中国人不骗中国人',dest='ja'))   #Translated(src=zh-CN, dest=ja, text=中国人は中国人に嘘をつかない, pronunciation=Chūgokujin wa chūgokujin ni uso o tsukanai, extra_data="{'confiden...")

使用.text就能获取翻译文本了

安装xpinyin

pip install xpinyin -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

使用

from xpinyin import Pinyin

p = Pinyin()
res = p.get_pinyin('测试')
print(res)  #ce-shi

#带声调
res = p.get_pinyin('测试', tone_marks='marks')
print(res)  #cè-shì

如果需要首字母大写,可自行对字符串处理。

  1. 问题:在字典循环使用pop()时,出现RuntimeError: dictionary changed size during iteration错误

答:for k,v in dict.items()过程中不能改变字典的size,在Python3.x和2.x可以使用list创建字典keys的备份:

for k in d.keys():
    v = d[k]  #get value
  1. 如何在Python中打印正号的数字+
#方法1
print("{0:+}".format(37))

#方法2
print("%+d" % (37,))

#方法3:从Python3.6开始可以使用
print(f"{37:+}")

为什么使用正则表达式?

典型的搜索和替换操作要求您提供与预期的搜索结果匹配的确切文本。虽然这种技术对于对静态文本执行简单搜索和替换任务可能已经足够了,但它缺乏灵活性,若采用这种方法搜索动态文本,即使不是不可能,至少也会变得很困难。

通过使用正则表达式,可以:

  • 测试字符串内的模式。
    例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。
  • 替换文本
    可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
  • 基于模式匹配从字符串中提取子字符串。
    可以查找文档内或输入域内特定的文本。