Excel姓名和手机号码两种信息,Python快速拆分文本和数值

MoMo 2023年8月24日22:23:27
评论
69

Python脚本用于处理Excel表格中的特定列,该列包含了姓名和手机号码两种信息。脚本的主要目的是将这一列拆分为两个独立的列:一个只包含姓名,另一个只包含手机号码。

主要步骤

  1. 读取Excel文件: 使用pandas库的read_excel函数读取Excel文件,并将其存储为一个DataFrame。
  2. 定义拆分函数: 创建一个函数split_name_and_phone,该函数使用Pythonfilterstr.isalpha/str.isdigit方法来分离文本和数字。
  3. 应用拆分函数: 使用DataFrame的apply方法,将拆分函数应用于目标列,生成两个新的列。
  4. 保存新的Excel文件: 使用to_excel函数将包含新列的DataFrame保存为一个新的Excel文件。
import pandas as pd

# 读取Excel文件
df = pd.read_excel('your_file.xlsx')

# 假设'姓名和手机号'是需要拆分的列 xpanx.com
def split_name_and_phone(value):
    text_part = ''.join(filter(str.isalpha, value))
    num_part = ''.join(filter(str.isdigit, value))
    return pd.Series([text_part, num_part])

# 使用apply方法拆分列
df[['姓名', '手机号码']] = df['姓名和手机号'].apply(split_name_and_phone)

# 保存新的Excel文件
df.to_excel('new_file.xlsx', index=False)

这里假设你的Excel文件名为your_file.xlsx,并且有一列名为'姓名和手机号'。

  1. 我们首先读取Excel文件到一个DataFrame。
  2. 然后,我们定义了一个函数split_name_and_phone,该函数接受一个字符串(包含姓名和手机号码)作为输入,然后返回一个包含两个元素(姓名和手机号码)的pd.Series对象。
  3. 使用DataFrame的apply方法,将这个函数应用到'姓名和手机号'列,从而得到两个新的列:'姓名'和'手机号码'。
  4. 最后,我们将新的DataFrame保存为一个新的Excel文件。
pip install pandas openpyxl

 

 

用到的知识

  1. pandas库: 这是一个用于数据处理和分析的Python库。它提供了DataFrame这一数据结构,非常适合于处理表格数据。
  2. Excel文件操作: pandas库可以非常方便地读取和写入Excel文件。
  3. Python内置函数: 使用了Pythonfilter函数和字符串方法str.isalphastr.isdigit来分离文本和数字。
  4. DataFrame的apply方法: pandas的DataFrame提供了apply方法,它可以将一个函数应用于DataFrame的一列或多列。
  5. 数据拆分: 通过自定义函数和apply方法,实现了复杂数据列的拆分。
https://xpanx.com/
MoMo
  • 本文由 发表于 2023年8月24日22:23:27
  • 转载请务必保留本文链接:https://xpanx.com/4177.html
Python动态月度日历Excel生成器 Python

Python动态月度日历Excel生成器

功能 本脚本用于生成一个特定年份的日历,将其保存在Excel工作簿中。用户可以自定义年份以及一周的开始日(如星期一、星期日等)。每个月都会在一个单独的Excel工作表中呈现,且工作表中的周会以绿色背景...
Python 爬取链家二手房数据做数据分析 Python

Python 爬取链家二手房数据做数据分析

这是一个用Python编写的网络爬虫程序,旨在从链家网(Lianjia)的上海二手房页面收集房源信息。该程序使用requests库来发起对链家网的HTTP请求,用BeautifulSoup库来解析返回...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: