Python实现批量拆分企业名称

帮对象处理所需数据时写的代码——第七弹(实现功能:Python将公司名称拆分成地点,品牌名称,行业名称,公司后缀四部分)

1.安装库

首先安装在命令控制端: pip install -U companynameparser

然后对库进行更新:pip install --upgrade pip

2.导入库和模块

  • import pandas as pd: 导入pandas库,用于数据处理和读写Excel文件。
  • import companynameparser: 导入用于解析公司名称的自定义模块companynameparser。
  • from tqdm import tqdm: 导入tqdm库,用于显示进度条,让程序执行过程可视化
    import pandas as pd
    import companynameparser
    from tqdm import tqdm

3.parse_company_names函数

  • arse_company_names(input_file, output_file): 这是一个自定义函数,用于解析公司名称并保存结果到新的Excel文件
  • 函数参数:
    • input_file: 输入的Excel文件路径,包含原始数据
    • output_file: 输出的Excel文件路径,保存解析结果
def parse_company_names(input_file, output_file):
    # 读取原始表格中的数据
    df = pd.read_excel(input_file)

    # 确定包含公司名称的列
    company_column = '企业名称'  # 请根据实际的列名进行修改

    # 新增用于保存解析结果的列
    df['place'] = ''
    df['brand'] = ''
    df['trade'] = ''
    df['suffix'] = ''

    # 获取总行数,用于进度条显示
    total_rows = len(df)

    # 遍历公司名称列,解析每个公司名称,并将结果保存到对应的新列中
    for index, name in tqdm(df[company_column].items(), total=total_rows, desc="Processing"):
        r = companynameparser.parse(name)
        df.at[index, 'place'] = r['place']
        df.at[index, 'brand'] = r['brand']
        df.at[index, 'trade'] = r['trade']
        df.at[index, 'suffix'] = r['suffix']

    # 将结果保存到新的Excel表格
    df.to_excel(output_file, index=False, engine='openpyxl')

    # 运行完毕后打印提示信息
    print("Finished!")

 4.主程序部分

  • 这是脚本的主程序部分,用于指定输入和输出文件路径,并调用parse_company_names函数执行解析操作。
  • input_file_path: 输入文件的路径,即待解析的Excel文件路径。
  • output_file_path: 输出文件的路径,即保存解析结果的新Excel文件路径。
  • 程序调用:parse_company_names(input_file_path, output_file_path)
if __name__ == '__main__':
    input_file_path = "C:\\Users\\desk\\Desktop\\企业名称.xlsx"
    output_file_path = "C:\\Users\\desk\\Desktop\\企业分开.xlsx"
    parse_company_names(input_file_path, output_file_path)

5.代码运行实例

输入文件:

 

输出文件样式:

6.总结

       通过调用companynameparser模块解析公司名称,并将解析结果保存到新的Excel文件中。首先读取原始Excel文件,然后遍历公司名称列,解析每个公司名称的地点、品牌、行业和后缀,并将结果保存到新的Excel文件。整个过程中,使用tqdm库显示进度条,使得程序运行过程可视化,更加友好。

完整代码

import pandas as pd
import companynameparser
from tqdm import tqdm

def parse_company_names(input_file, output_file):
    # 读取原始表格中的数据
    df = pd.read_excel(input_file)

    # 确定包含公司名称的列
    company_column = '企业名称'  # 请根据实际的列名进行修改

    # 新增用于保存解析结果的列
    df['place'] = ''
    df['brand'] = ''
    df['trade'] = ''
    df['suffix'] = ''

    # 获取总行数,用于进度条显示
    total_rows = len(df)

    # 遍历公司名称列,解析每个公司名称,并将结果保存到对应的新列中
    for index, name in tqdm(df[company_column].items(), total=total_rows, desc="Processing"):
        r = companynameparser.parse(name)
        df.at[index, 'place'] = r['place']
        df.at[index, 'brand'] = r['brand']
        df.at[index, 'trade'] = r['trade']
        df.at[index, 'suffix'] = r['suffix']

    # 将结果保存到新的Excel表格
    df.to_excel(output_file, index=False, engine='openpyxl')

    # 运行完毕后打印提示信息
    print("Finished!")

if __name__ == '__main__':
    input_file_path = "C:\\Users\\desk\\Desktop\\企业名称.xlsx"
    output_file_path = "C:\\Users\\desk\\Desktop\\企业分开.xlsx"
    parse_company_names(input_file_path, output_file_path)

上述代码库参考文章:https://github.com/shibing624/companynameparser

如有不足,欢迎留言指正交流哈!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~玲儿响叮当~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值