|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 超哥超级爱学习 于 2020-8-25 21:04 编辑
求各位大神帮忙
因为工作的原因,需要对excel表格中的地址进行修改,主要问题是地址需要标准格式 比如:XX省XX市XX县 但是提供的地址经常XX省或者XX市缺失,我想做一个小程序能自动帮我修改,求大神提供思路或者方法啊。
我现在能想到的是我先做一个标准数据库,包含所有的XX省XX市,然后和表格对比,不一致,然后再自动添加进去。
ps:这是原来的excel表格的文字样式和修改过的excel表格中的文字样式
我看了看还是没有思路,下面几位朋友提到了openpyxl,我还是不知道该如何用这个库。
ps:新增了一个地址库,一个原始表格的样板。求各位大神继续帮忙啊
- import pandas as pd
- a = pd.read_excel('需改名数据.xlsx')
- print(f'原始数据:{a}')
- b = pd.read_excel('地名库.xlsx')
- print(f'标准地名库:{b}')
- for i in range(len(b)):
- temp1 = b.loc[i, '区'] #取出标准区县名字
- temp2 = b.loc[i, '市'] #取出标准市名字
- for j in range(len(a)):
- if a.loc[j, '地址'].find(temp1) >= 0: #如果在地址栏中找到标准区县名
- a.loc[j, '完整地址'] = b.loc[i, '地址'] #完整地址拼接
- for temp in a.loc[j, '地址'].split(temp1)[1:]: #防止地址中出现两次区县名,切割后成列表来循环拼接
- a.loc[j, '完整地址'] += temp
- elif a.loc[j, '地址'].find(temp2) >= 0:#如果在地址栏中未找到标准区县名,那查找标准市名,再做拼接
- a.loc[j, '完整地址'] = b.loc[i, '省']+b.loc[i, '市']+a.loc[j, '地址'].split(temp2)[1]
- print(f'查找后数据:{a}')
- a.to_excel('result.xlsx', index=False) #输出
复制代码
之前陷入了误区,不需要切割出区县、市,直接查找就行了,不过我用的方法比较笨,就是循环,没想到更好的办法,你给的数据115个能完成110个,数据多了估计速度会慢点,可以试试用多进程多线程之类的再做做
你的数据表,最好不要有空格空项,填完整,试试看
|
|