Python处理excel根据全称自动填写简称的完整实例教程可以分为以下几个步骤:
- 导入所需的Python库,包括pandas和openpyxl。其中pandas用于读写Excel文件,openpyxl用于创建或更新Excel文件。
import pandas as pd
from openpyxl import Workbook
- 读入包含全称的Excel文件,并创建一个新的Excel文件用于保存处理后的结果。同时创建一个字典用于存储全称和对应的简称。
input_file = '全称.xlsx'
output_file = '简称.xlsx'
df = pd.read_excel(input_file)
wb = Workbook()
ws = wb.active
name_dict = {}
- 遍历读入的Excel文件中的全称列,利用字典存储全称和对应的简称。若字典中已经有了该全称,则将简称填入对应单元格。
for index, row in df.iterrows():
full_name = row['全称']
if full_name not in name_dict:
short_name = full_name[:3]
name_dict[full_name] = short_name
else:
short_name = name_dict[full_name]
ws.cell(row=index+1, column=1, value=full_name)
ws.cell(row=index+1, column=2, value=short_name)
通过上述代码,我们读取到了Excel文件中的全称列,并遍历每一行的全称数据通过切片的方式获取前三个字符作为简称。同时我们利用字典存储全称和对应的简称,若字典中已经有了该全称,则直接从字典中获取简称填入对应单元格。
需要注意的是,我们在遍历全称数据时,通过iterrows()
方法获取每一行的数据,并利用index
变量表示行号。在遍历过程中,我们通过ws.cell()
方法往新的Excel文件中写入数据。
- 最后将处理完成的Excel文件保存到硬盘中。
wb.save(output_file)
至此,我们完成了根据全称自动填写简称的示例,完整代码如下:
import pandas as pd
from openpyxl import Workbook
input_file = '全称.xlsx'
output_file = '简称.xlsx'
df = pd.read_excel(input_file)
wb = Workbook()
ws = wb.active
name_dict = {}
for index, row in df.iterrows():
full_name = row['全称']
if full_name not in name_dict:
short_name = full_name[:3]
name_dict[full_name] = short_name
else:
short_name = name_dict[full_name]
ws.cell(row=index+1, column=1, value=full_name)
ws.cell(row=index+1, column=2, value=short_name)
wb.save(output_file)
下面给出两个示例说明:
假设我们有如下的“全称.xlsx”文件:
全称 | |
---|---|
1 | 中国银行 |
2 | 中国工商银行 |
3 | 中国建设银行 |
4 | 中国农业银行 |
运行上述代码后,我们就可以得到一个新的“简称.xlsx”文件,内容如下所示:
全称 | 简称 | |
---|---|---|
1 | 中国银行 | 中银 |
2 | 中国工商银行 | 中工 |
3 | 中国建设银行 | 中建 |
4 | 中国农业银行 | 中农 |
我们可以看到,程序根据全称自动填写了对应的简称,并将结果保存到了新的Excel文件中。
另外,这个示例也可以用于处理其他类似的需求,例如根据城市名称自动填写省份名称等。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python处理excel根据全称自动填写简称 - Python技术站