Python拆分列中文和 字符

需求描述:我们日常实际的工作中经常需要把一列数据按中文和 数字或者字母单独拆分出来

导入所需的库:

复制代码
import pandas as pd

定义函数 extract_characters,该函数接受三个参数:file_path(Excel文件路径)、sheet_name(工作表名称)和 column_name(列名)。

复制代码
def extract_characters(file_path, sheet_name, column_name):

读取Excel文件并将其存储到DataFrame中:

复制代码
df = pd.read_excel(file_path, sheet_name=sheet_name)

创建两个新的列 '中文''其他字符',并将它们添加到DataFrame中:

复制代码
df['中文'] = ''
df['其他字符'] = ''

遍历DataFrame的每一行数据:

复制代码
for index, row in df.iterrows():

获取指定列的值,并将其转换为字符串:

复制代码
text = str(row[column_name])

初始化两个空字符串变量 chineseother,用于存储中文字符和其他字符:

复制代码
chinese = ''
other = ''

遍历每个字符:

复制代码
for char in text:

判断当前字符是否为中文字符(Unicode范围为\u4e00\u9fff):

复制代码
if '\u4e00' <= char <= '\u9fff':

如果是中文字符,则将其添加到 chinese 字符串中:

复制代码
chinese += char

如果不是中文字符,则将其添加到 other 字符串中:

复制代码
other += char

将中文字符集合添加到新的 '中文' 列中:

复制代码
df.at[index, '中文'] = chinese

将其他字符集合添加到新的 '其他字符' 列中:

复制代码
df.at[index, '其他字符'] = other

返回处理后的DataFrame对象:

复制代码
return df

定义测试示例的文件路径、工作表名称和列名:

复制代码
file_path = r'测试.xlsx'
sheet_name = 'Sheet1'
column_name = '店铺销售sku'

调用 extract_characters 函数,并将结果存储在 result_df 中:

复制代码
result_df = extract_characters(file_path, sheet_name, column_name)

将处理后的DataFrame保存为Excel文件:

复制代码
result_df.to_excel('result.xlsx', index=False)

完整代码:

相关推荐
用户12039112947262 分钟前
AIGC 时代,数据库终于可以“听懂人话”了:从零打造自然语言操作 SQLite 的完整实战
python·sqlite·aigc
Q_Q5110082853 分钟前
python+django/flask+vue农业电商服务系统
spring boot·python·pycharm·django·flask
帕巴啦4 分钟前
Python计算累积频率——Origin绘制累积频率图
python·绘图·origin·累积频率·python计算累积频率·origin绘制累积频率图
Q_Q51100828513 分钟前
python+django/flask+vue的基于疫情防控管理系统的数据可视化分析系统
spring boot·python·django·flask·node.js
生信大表哥34 分钟前
Claude Code / Gemini CLI / Codex CLI 安装大全(Linux 服务器版)
linux·python·ai·r语言·数信院生信服务器
databook39 分钟前
用样本猜总体的秘密武器,4大抽样分布总结
后端·python·数据分析
Jacob程序员1 小时前
欧几里得距离算法-相似度
开发语言·python·算法
a man of sadness1 小时前
GPS轨迹抽稀:降频、滑动窗口、RDP
python·gps·轨迹·抽稀·rdp算法
网安老伯1 小时前
什么是网络安全?网络安全包括哪几个方面?学完能做一名黑客吗?
linux·数据库·python·web安全·网络安全·php·xss
天才测试猿1 小时前
Postman接口测试:如何导入swagger接口文档?
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman