系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2
Part 1:目标
结果
Part 2:代码
from openpyxl import load_workbook
from pypinyin import lazy_pinyin
excel_address = r"示例.xlsm"
wb = load_workbook(excel_address, keep_vba=True)
sht = wb["示例"]
for i in range(2, 10):
person_name = sht["G" + str(i)].value
print(person_name)
list_pinyin = lazy_pinyin(person_name)
print(list_pinyin)
str_pinyin = ''.join(list_pinyin)
print(str_pinyin)
sht["H" + str(i)].value = str_pinyin
wb.save(excel_address)
代码截图
运行过程输出
Part 3:部分代码解读
openpyxl
,pypinyin
,其中关于Excel操作的openpyxl
请查看以前的文章。请务必注意保留VBA,因为该文件尾椎为xlsm(含有VBA代码的Excel文件)list_pinyin = lazy_pinyin(person_name)
会将汉字转换成一个列表,每个汉字对应列表中的一个元素''.join(list_pinyin)
将列表用空字符连接起来