python数据清洗cvs里面带中文字符

  数据清洗,使用python数据清洗cvs里面带中文字符,意图是用字典对应中文字符,即key值是中文字符,value值是index,自增即可;利用字典数据结构没有重复key值的特性,把中文字符映射到了数值index。

  python代码如下:(data数据时csv格式)

import csv

dict2 = {}      #Cdict4 = {}      #Edict25 = {}     #zdict26 = {}     #AAdict27 = {}     #ABdict37 = {}     #ALdict38 = {}     #AMdict40 = {}     #AOdict41 = {}     #APdict42 = {}     #AQdict45 = {}     #ATdict49 = {}     #AXindex = 0flag = False

#        print(row[2],dict[row[2]])

with open("E:/yuce/test.csv", ‘w+‘, newline=‘‘) as csv_file_write:        writer = csv.writer(csv_file_write)        with open(‘E:/yuce/b.csv‘, ‘r‘, newline=‘‘) as csv_file_read:            reader = csv.reader(csv_file_read)            for row in reader:                if(flag):                    dict2[row[2]] = index                    dict4[row[4]] = index                    dict25[row[25]] = index                    dict26[row[26]] = index                    dict27[row[27]] = index                    dict37[row[37]] = index                    dict38[row[38]] = index                    dict40[row[40]] = index                    dict41[row[41]] = index                    dict42[row[42]] = index                    dict45[row[45]] = index                    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!‘)

  上例是真实的数据处理,有两百列属性,三万条数据的原始数据。其中包括中文字符,及缺失值,需要一步步清洗。

时间: 2024-07-28 21:27:52

python数据清洗cvs里面带中文字符的相关文章

WP8_UTF8 to GB2312转码 (url网址中带中文字符的处理)

直接使用例如:http://www.abc.php?name=中文符 ,客户端调用,在服务端修改后,会出现乱码, 而windows phone 又不能直接支持gb2312, 经过大量分析和验证,发现 凡事 经过"从汉字转换到16进制"后, 即可成功实现转码,代码如下: string text = "中文符"; string url1 = "http://www.abc.php?name="; string url2 = url1 + Utf8To

python 处理html文本的中文字符gbk转utf-8

#中文字符gbk转utf-8 def gbk2utf8(self,raw): rs=raw.encode('raw_unicode_escape') #转为机器识别字符串 s=repr(rs) ss=unicode(eval(s),"gbk") #gbk解码为unicode utf8_str=ss.encode('utf-8') #unicode编码为utf-8 return utf8_str

三张图告诉你python爬虫时转换\u中文字符的“坑”

一劳永逸的方法: s=s.replace("'",'"') s=s.replace("\n",'') s1="u'"+s+"'" try: ss=eval(s1) except: return 将'转换为",将\n去掉.利用eval转化即可.

JAVA中文字符编码问题

JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问 题后, 经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经掌握了对付这些字符乱码怪兽的诀窍.可当过段时间,换了个应用或换了个环境,又会碰到那讨厌的火 星文,并再次无所适从.于是下决心好好整理一下中文字符编码问题,以方便自己记忆,也为其他程序员兄弟们提供一份参考. 首先要了解JAVA处理字符的原理.JAVA使用UNICODE来存储字符数据,处理字符时通常有

python 连接数据库-设置oracle ,mysql 中文字符问题

1 import cx_Oracle 2 import MySQLdb 3 4 def conn_oracle(): 5 cnn = cx_Oracle.connect('用户名','密码','ip:端口号/数据库') //用户名,密码,ip端口号数据库 6 cur = cnn.cursor() 7 return cnn,cur 8 9 10 def close_oracle(cnn,cur): 11 cur.close() 12 cnn.close() 13 14 def conn_mysql

python中文字符乱码(GB2312,GBK,GB18030相关的问题)

转自博主 crifan http://againinput4.blog.163.com/blog/static/1727994912011111011432810/ 在玩wordpress的一个博客搬家工具BlogMover,其包含几个python脚本,其中有个是163博客搬家用的163-blog-mover.py,实现抓取网易博客的日志,然后导出xml. 但是其工具现在(2011-12-10)已经失效了.经过自己一点修改后,可以实现获得文章标题了. 用法还是原先的用法:  163-blog-m

【已解决】python中文字符乱码(GB2312,GBK,GB18030相关的问题)

http://againinput4.blog.163.com/blog/static/1727994912011111011432810/ [背景] 在玩wordpress的一个博客搬家工具BlogMover,其包含几个python脚本,其中有个是163博客搬家用的163-blog-mover.py,实现抓取网易博客的日志,然后导出xml. 但是其工具现在(2011-12-10)已经失效了.经过自己一点修改后,可以实现获得文章标题了. 用法还是原先的用法:  163-blog-mover.py

Python中文字符问题

Python中对中文字符的操作时常会使程序出现乱码 不全然管用的处理方法: 读取数据时使用encode编码为Bytes以保护数据 使用时转化为string并使用decode解码 如: title = title_origin[0].encode('utf-8') title = str(title.decode('utf-8'))

处理python字符串中的中文字符

# -*- coding:utf-8 -*- import sys,os txta = open('a.txt','r') str = '' for line in txta: str += line.strip().decode('utf-8') txta.close() for word in str: print word.encode('utf-8') 直接输出,是会乱码的,得先解码,再编码. 参考网址:http://blog.csdn.net/devil_2009/article/de