数据挖掘:python数据清洗cvs里面带中文字符
数据清洗,使用python数据清洗cvs里面带中文字符,意图是用字典对应中文字符,即key值是中文字符,value值是index,自增即可;利用字典数据结构没有重复key值的特性,把中文字符映射到了数值index。
python代码如下:(data数据时csv格式)
import csv
dict2 = {} #C
dict4 = {} #E
dict25 = {} #z
dict26 = {} #AA
dict27 = {} #AB
dict37 = {} #AL
dict38 = {} #AM
dict40 = {} #AO
dict41 = {} #AP
dict42 = {} #AQ
dict45 = {} #AT
dict49 = {} #AX
index = 0
flag = False
# print(row[2],dict[row[2]])
with open("E:/test/real/test.csv", 'w+', newline='') as csv_file_write:
writer = csv.writer(csv_file_write)
with open('E:/test/real/b.csv', 'r', newline='') as csv_file_read:
reader = csv.reader(csv_file_read)
for row in reader:
if(flag):
if row[2] not in dict2.keys():
dict2[row[2]] = index
if row[4] not in dict4.keys():
dict4[row[4]] = index
if row[25] not in dict25.keys():
dict25[row[25]] = index
if row[26] not in dict26.keys():
dict26[row[26]] = index
if row[27] not in dict27.keys():
dict27[row[27]] = index
if row[37] not in dict37.keys():
dict37[row[37]] = index
if row[38] not in dict38.keys():
dict38[row[38]] = index
if row[40] not in dict40.keys():
dict40[row[40]] = index
if row[41] not in dict41.keys():
dict41[row[41]] = index
if row[42] not in dict42.keys():
dict42[row[42]] = index
if row[45] not in dict45.keys():
dict45[row[45]] = index
if row[49] not in dict49.keys():
dict49[row[49]] = index
row[2] = dict2[row[2]]
row[4] = dict4[row[4]]
row[25] = dict25[row[25]]
row[26] = dict26[row[26]]
row[27] = dict27[row[27]]
row[37] = dict37[row[37]]
row[38] = dict38[row[38]]
row[40] = dict40[row[40]]
row[41] = dict41[row[41]]
row[42] = dict42[row[42]]
row[45] = dict45[row[45]]
row[49] = dict49[row[49]]
index = index + 1
writer.writerow(row)
flag = True
csv_file_read.close()
csv_file_write.close()
print('done!')
上例是真实的数据处理,有两百列属性,三万条数据的原始数据。其中包括中文字符,及缺失值,需要一步步清洗。
备注:发生异常permission denied异常;
解决方案: 是因为正在打开着csv文件,所以python没有权限以w的方式打开文件。关闭该文件即可;
数据挖掘:python数据清洗cvs里面带中文字符的更多相关文章
- PHP - 传入WebService服务端带中文字符的序列化字串不能反序列化的解决方法
因工作需要,用了web服务,通过远程调用的方式来检索雅虎拍卖数据.前几天遇到一个问题,现在记录一下 客户端: $res = $this->client->call('Get_YahooDa ...
- python利用utf-8编码判断中文字符
下面这个小工具包含了 判断unicode是否是汉字,数字,英文,或者其他字符. 全角符号转半角符号. unicode字符串归一化等工作. 还有一个能处理多音字的汉字转拼音的程序,还在整理中. #!/u ...
- WP8_UTF8 to GB2312转码 (url网址中带中文字符的处理)
直接使用例如:http://www.abc.php?name=中文符 ,客户端调用,在服务端修改后,会出现乱码, 而windows phone 又不能直接支持gb2312, 经过大量分析和验证,发现 ...
- 判断一个python字符串中是否包含中文字符
#在python中一个汉字算一个字符,一个英文字母算一个字符 #用 ord() 函数判断单个字符的unicode编码是否大于255即可. def is_contain_chinese(check_st ...
- python 处理html文本的中文字符gbk转utf-8
#中文字符gbk转utf-8 def gbk2utf8(self,raw): rs=raw.encode('raw_unicode_escape') #转为机器识别字符串 s=repr(rs) ss= ...
- 带中文的路径导致NSURL初始化一直为null的问题
一.问题描述 在学习Ojective-C过程中,需要读取文件中的内容,但发现指针变量url的值一直为nil. 代码如下: NSString *strUrl=@"file:///Users/f ...
- JAVA的中文字符乱码问题
来源:http://luzefengoo.blog.163.com/blog/static/1403593882012754428536/ JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用 ...
- python中文字符乱码(GB2312,GBK,GB18030相关的问题)
转自博主 crifan http://againinput4.blog.163.com/blog/static/1727994912011111011432810/ 在玩wordpress的一个博客搬 ...
- Python中文字符的理解:str()、repr()、print
Python中文字符的理解:str().repr().print 字数1384 阅读4 评论0 喜欢0 都说Python人不把文字编码这块从头到尾.从古至今全研究通透的话是完全玩不转的.我终于深刻的理 ...
随机推荐
- 【第十一篇】这一篇来说说MVC+EF+easyui datagrid的查询功能
老规矩 直接上代码 <form class="form-horizontal"> <div class="box-body"> < ...
- Android studio初次安装启动时弹出unable to access android sdk add-on list提示的解决方法
一.问题描述 初次安装Android Studio,启动后,报错如下: unable to access android sdk add-on lis 如图: 二.原因分析 AS启动后,会在默认路径下 ...
- Python Flask高级编程之RESTFul API前后端分离精讲 (网盘免费分享)
Python Flask高级编程之RESTFul API前后端分离精讲 (免费分享) 点击链接或搜索QQ号直接加群获取其它资料: 链接:https://pan.baidu.com/s/12eKrJK ...
- 松软科技课堂:SQL--UNIQUE约束
SQL UNIQUE 约束(文章来源:松软科技-www.sysoft.net.cn-) UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提 ...
- prometheus-operator告警模块alertmanager注意事项(QQ邮箱发送告警)--大大坑
在/stable/prometheus-operator/values.yaml配置告警邮件 config: global: resolve_timeout: 5m smtp_smarthost: ' ...
- 大白话讲解 Java程序的运行机制和JVM
据我们所知,Java程序是跨平台的.那么Java是如何实现跨平台的呢?看完下面几句话就会恍然大悟! 1.为什么Java语言既是编译型语言又是解释型语言呢? 答:运行Java程序,首先需要经过编译,编译 ...
- C语言入门-数据类型
一.C语言的类型 整数:char.short.int.long.longlong 浮点型:float.double.long double 逻辑:bool 指针 自定义类型 类型有何不同 类型名称:i ...
- JAVA设计模式---总述篇
一.设计模式(Design Pattern): 1.设计模式的概念 是前辈们对代码开发经验的总结,是解决特定问题的一系列套路.它不是语法规定,而是一套用来提高代码可复用性.可维护性.可读性.稳健性以及 ...
- 【Dgango】模版
继承 ① extends用法:只继承一个模版 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- tomcat配置目录及安装说明
1.升级jdk版本 java -version 查看当前java版本 上传最新版jdk tar xf jdk-8u191-linux-x64.tar.gz 解压jdk到当前下 mv jdk1.8.0_ ...