Python处理excel根据全称自动填写简称

Python处理excel根据全称自动填写简称的完整实例教程可以分为以下几个步骤:

  1. 导入所需的Python库,包括pandas和openpyxl。其中pandas用于读写Excel文件,openpyxl用于创建或更新Excel文件。
import pandas as pd
from openpyxl import Workbook
  1. 读入包含全称的Excel文件,并创建一个新的Excel文件用于保存处理后的结果。同时创建一个字典用于存储全称和对应的简称。
input_file = '全称.xlsx'
output_file = '简称.xlsx'

df = pd.read_excel(input_file)
wb = Workbook()
ws = wb.active

name_dict = {}
  1. 遍历读入的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文件中写入数据。

  1. 最后将处理完成的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技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • Python反爬机制-验证码功能的具体实现过程

    Python反爬机制-验证码功能的具体实现过程 在本教程中,我们将介绍如何使用Python实现验证码功能,以应对反爬机制。我们将使用Python的Pillow库和pytesseract库来实现这个功能。以下是一个示例代码,演示如何使用Python实现验证码功能: import requests from PIL import Image import pyt…

    python 2023年5月15日
    00
  • python pygame入门教程

    Python pygame是一个可以帮助用户创建2D游戏的模块。在本教程中,我们将介绍如何使用Python pygame模块创建简单的2D游戏。 安装 pygame 在开始创建2D游戏前,您需要安装pygame。可以使用以下命令安装pygame: pip install pygame 安装完成后,您可以开始创建您的2D游戏。 初始化 Pygame 在您创建游…

    python 2023年5月30日
    00
  • python浅谈一下线程间通信之队列

    Python浅谈一下线程间通信之队列 在Python多线程编程中,线程间通信是一个非常重要的概念,通过线程间通信可以实现数据共享、协同工作等功能。队列是线程间通信的常用方式之一。 队列的作用 队列是一种数据结构,用于在多线程编程中传递信息。队列提供了一个先进先出(FIFO)的缓冲区,允许一个线程写数据,一个线程读数据。 Python队列的实现 Python标…

    python 2023年6月6日
    00
  • 详解PyQt5 GUI 接收UDP数据并动态绘图的过程(多线程间信号传递)

    讲解 “详解 PyQt5 GUI 接收 UDP 数据并动态绘图的过程(多线程间信号传递)” 的攻略如下: 简介 本攻略将重点介绍如何使用 PyQt5 进行 GUI 开发,并用多线程的方式实现 UDP 数据的接收、实时绘图等功能。攻略中将使用两个示例来说明多线程间信号传递的过程。 示例一:UDP 数据接收 UDP 数据接收示例将介绍如何通过 PyQt5 的多线…

    python 2023年5月19日
    00
  • Python total_ordering定义类

    Python中的total_ordering是一个装饰器函数,用于自动为类生成比较运算符方法。在这种情况下,只需要定义其中的一部分-例如__lt__和__eq__,另外的比较方法将自动从它们中推导出来。 要使用total_ordering,只需要在class定义前添加@functools.total_ordering装饰器,然后定义类中所需的比较方法__eq…

    python-answer 2023年3月25日
    00
  • python 如何使用find和find_all爬虫、找文本的实现

    Python如何使用find和find_all爬虫、找文本的实现 本攻略将介绍如何使用Python的BeautifulSoup库中的find和find_all方法进行爬虫和文本查找。我们将使用一个示例网站进行演示,并提供两个示例代码,分别用于爬虫和文本查找。 安装所需库 在开始前,我们需要安装BeautifulSoup库。我们可以使用以下命令在命令行中安装这…

    python 2023年5月15日
    00
  • Python urllib库的使用指南详解

    Python urllib库的使用指南详解 什么是Python urllib库? Python urllib库是Python标准库中用于和网站进行交互的工具包。它可以用于发送HTTP请求,从服务器获取响应,并对响应进行处理。Python urllib库包含4个模块:urllib.request、urllib.response、urllib.parse和url…

    python 2023年6月3日
    00
  • 前缀和非前缀命令在 python discord bot 上不能一起工作

    【问题标题】:Prefixed and non prefix commands are not working together on python discord bot前缀和非前缀命令在 python discord bot 上不能一起工作 【发布时间】:2023-04-04 20:40:02 【问题描述】: import asyncio import …

    Python开发 2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部