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 ...
随机推荐
- React中编写操作树形数据的自定义Hook
什么是 Hook hook 即为钩子,是一种特殊的函数,它可以让你在函数式组件中使用一些 react 特性,目前在 react 中常用的 hook 有以下几类 useState: 用于在函数组件中定义 ...
- Linux下手工编译libiconv库的小问题
我的电脑是 Ubuntu 14.04 LTS, 自己手工编译 php5.6, 打开 ZEND_EXTRA_LIBS='-liconv' 时, 发现没有安装 libiconv, 也就是编码转换的库, 所 ...
- MAUI+MASA Blazor 兼容性测试报告及分析
目录 1. 背景 2. 目的 3. 测试目标 4. 预期结果 5. 测试策略及范围 6. 测试结果与分析 7. 附加内容 8. 结尾 1. 背景 MASA Blazor组件是一款基于Material ...
- Mysql报错:Specified key was too long; max key length is 767 bytes
1.show variables like 'innodb_large_prefix'; show variables like 'innodb_file_format'; 修改为如下配置: set ...
- JavaScript代码片段精选
今天,我在职坐标的微信公众号里面看到了关于 JavaScript代码片段精选 的 微信软文.在实际开发中,我们经常会使用的JS来实现某些功能.今天,就在此总结一下. 1.浮点数取整 const x ...
- 注意!JAVA中的值传递
前言:今天在解决一个问题时,程序总是不能输出正确值,分析逻辑思路没问题后,发现原来是由于函数传递导致了这个情况. LeetCode 113 问题:给你二叉树的根节点root和一个整数目标和target ...
- Abstract Factory 抽象工厂模式简介与 C# 示例【创建型1】【设计模式来了_1】
〇.简介 1.什么是抽象工厂模式? 一句话解释: 提供一个接口,以创建一系列相关或相互依赖的抽象对象,而无需指定它们具体的类.(将一系列抽象类装进接口,一次接口实现,就必须实例化这一系列抽象类) ...
- 去中心化组件共享方案 —— Webpack Module Federation(模块联邦)
在大型应用中, 我们可能会对其进行拆分,分成容器.主应用和多个子应用,使拆分后的应用独立开发与部署,更加容易维护.但无论是微应用.公共模块应用,都需要放到容器中才能使用. 如果多个应用之间希望资源共享 ...
- [golang]jwt生成与解析
前言 golang-jwt是go语言中用来生成和解析jwt的一个第三方库,早先版本也叫jwt-go.本文中使用目前最新的v5版本. 安装 go get -u github.com/golang-jwt ...
- vlak
2023-7-14 题目 luogu题目传送门 题目描述 Nina 和 Emilija 正在玩一个特殊的游戏.这个游戏是在一张最开始为空白的纸上进行的.在每一个人的行动回合内,这个人会在这张纸上当前的 ...