Python,pandas遍历csv文件,删除中文字符,特殊字符,将中文符号转换为英文符号

本文介绍了使用Pandas处理CSV文件时如何读取、删除中文字符和特殊符号。讨论了read_csv的参数,如skip_blank_lines和skiprows,以及处理DtypeWarning的方法。此外,还提到了to_csv的保存功能,iterrows和iteritems的使用,以及loc的字符索引。在数据清理方面,文章展示了去除UTF-8数据中的中文字符和转换符号的技巧,并探讨了利用多进程加速处理的可能性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pandas:Python Data Analysis Library

为了解决数据分析任务创建

数据结果:
***Series:***一维数组:与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。
***Time-Series:***以时间为索引的Series
***DataFrame:***二维的表格型数据结构,可以理解为Series的容器
***Panel:***三维数组,可以理解为DataFrame的容器

Pandas-read_csv()

函数参数详解
skip_blank_lines : boolean, default True
如果为True,则跳过空行;否则记为NaN。

skiprows : list-like or integer, default None
需要忽略的行数(从文件开始处算起),或需要跳过的行号列表(从0开始)。

获取标签,索引

 csv_file = pandas.read_csv('.csv')
 print(csv_file.index)#获取索引
 print(csv_file.columns)#获取标签

read_csv()遇到的问题

DtypeWarning: Columns (1,5,7,16,…) have mixed types. Specify dtype option on import or set low_memory=False.

两个解决方案:
参考:mixed types问题

# 1.设置read_csv的dtype参数,指定字段的数据类型
pd.read_csv(sio, dtype={
   "user_id": int, "username": object})
# 2.设置read_csv的low_memory参数为False
 pd.read_csv(sio, low_memory=False})

low_memory:解决办法的原因: low_memory=False 参数设置后,pandas会一次性读取csv中的所有数据,然后对字段的数据类型进行唯一的一次猜测。这样就不会导致同一字段的Mixed types问题了。
但是这种方式真的非常不好,一旦csv文件过大,就会内存溢出;推荐第一种解决方案

Pandas-to_csv()

 保存

iterrows()/行,iteritems()/列

返回一个generator对象,是可迭代对象

Pandas-loc

 Pandas库中有iloc和loc以及ix可以用来索引数据.
 **iloc:**针对数字索引
 **loc:**字符索引
 **ix:**混合索引

中文字符,特殊字符的去除

读入的数据位UTF-8格式,剔除其中的中文字符,特殊字符

下面放入字符剔除及中英文符号转换的函数,便利自己的数组调用即可

#将中文标点符号转换为英文标点符号
#https://blog.youkuaiyun.com/nanbei2463776506/article/details/82967140
def C_trans_to_E(string):
    E_pun = u',.!?[]()<>"\''
    C_pun = u',。!?【】()《》“‘'
    #ord返回ASCII码对应的int
    #zip将合并为列表,元素为元祖,元祖为对应位置所有元素依次的集合,如这种形式[(',',',')...]
    #s生成对应字典
    table= {
   ord(f):ord(t) for f,t in zip(C_pun,E_pun)}
    #将字符传对应转换
    return string.translate(table)

#移除汉子和特殊字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值