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])
初始化两个空字符串变量 chinese 和 other,用于存储中文字符和其他字符:
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)
完整代码:
Python拆分列中文和 字符的更多相关文章
- Excel 中如何快速统计一列中相同字符的个数(函数法)
https://jingyan.baidu.com/article/6d704a132ea17328da51ca78.html 通过excel快速统计一列中相同字符的个数,如果很少,你可以一个一个数. ...
- python 统计字符串中指定字符出现次数的方法
python 统计字符串中指定字符出现次数的方法: strs = "They look good and stick good!" count_set = ['look','goo ...
- ArcMap - 使用python更新列中的值
概述:在外文网上,很多人都问在ArcMap中如何通过SQL修改属性字段的值,我见回答的人都说通过"Field Calculator",貌似不能直接通过SQL语句. 虽然学gis开发 ...
- bash python获取文本中每个字符出现的次数
bash: grep -o . myfile | sort |uniq -c python: 使用collections模块 import pprint import collections f = ...
- python在字符串中查找字符
两类函数: find(),rfind() index(),rindex() 找到了都返回下标. find找不到返回-1,index找不到抛出ValueError. 带r的表示从右向左找. 都可以使用第 ...
- python去掉字符串中重复字符的方法
If order does not matter, you can use foo = "mppmt" "".join(set(foo)) set() ...
- Pandas: 如何将一列中的文本拆分为多行? | Python
Pandas: 如何将一列中的文本拆分为多行? 在数据处理过程中,经常会遇到以下类型的数据: 在同一列中,本该分别填入多行中的数据,被填在一行里了,然而在分析的时候,需要拆分成为多行. 在上图中,列名 ...
- 拆分Sql列中内容的拆分
拆分Sql列中内容的拆分. /*按照符号分割字符串*/ create function [dbo].[m_split](@c varchar(2000),@split varchar(2)) retu ...
- 《Python CookBook2》 第一章 文本 - 检查字符串中是否包含某字符集合中的字符 && 简化字符串的translate方法的使用
检查字符串中是否包含某字符集合中的字符 任务: 检查字符串中是否出现了某个字符集合中的字符 解决方案: 方案一: import itertools def containAny(seq,aset): ...
- SQL判断某列中是否包含中文字符或者英文字符
SQL判断某列中是否包含中文字符或者英文字符 [sql] select * from 表名 where 某列 like '%[吖-座]%' select * from 表名 where ...
随机推荐
- AntdPro中formItemProps和fieldProps的区别
最近在工作中接触到了 antd 和 antd pro,作为一个 react 和 antd 新人,在学习和使用中遇到了不少的问题,下边就常见的一个问题来进行记录,后续还会记录更多的问题以及心得 Form ...
- 使用mybatis-generator 能生成 但是实际使用时抛出异常Invalid bound statement (not found)
好多好多好多红 但是重点是一句org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): {}.d ...
- Java服务刚启动时,一小波接口超时排查全过程
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明. 简介 我们组有一个流量较大的Java服务,每次发代码时,服务都会有一小波接口超时,之前简单分析过,发现这些超时的 ...
- flex布局入门
一.简介 Flexible 单词意思是灵活的意思,flex布局又称为弹性布局或弹性盒子布局 Flex布局(Flexible Box Layout)是CSS3引入的一种布局模型,它旨在提供一种灵活且高效 ...
- Kubernets常用命令
查看所有namespace的pods运行情况 kubectl get pods --all-namespaces kubectl get service -ALL kubectl get deploy ...
- CMDB 相关
CMDB 术语 CI(配置项) 配置管理解决方案(如CMDB)中的基本有形或无形实体. 为了交付IT服务而需要管理的任何组件. 通常包括IT服务.硬件.软件.架构.人员和正式文档(如流程文档和sla) ...
- HTML超文本标记语言4
框架标签...等等 1.框架 <frameset> 框架标签 cols="按列划分" rows="按行划分" 格式:rows="100,* ...
- 操作系统复习 MITS6.1810 lab util 记录
lab util sleep 介绍:主要用来熟悉下环境以及代码结构. See kernel/sysproc.c for the xv6 kernel code that implements the ...
- quarkus依赖注入之六:发布和消费事件
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<quarkus依赖注入> ...
- 为react项目添加开发/提交规范(前端工程化、eslint、prettier、husky、commitlint、stylelint)
因历史遗留原因,接手的项目没有代码提醒/格式化,包括 eslint.pretttier,也没有 commit 提交校验,如 husky.commitlint.stylelint,与其期待自己或者同事的 ...