博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python读取 csv文件中文乱码处理
阅读量:6229 次
发布时间:2019-06-21

本文共 847 字,大约阅读时间需要 2 分钟。

需求: 按行解析读取csv文件存入关系型数据库——主要是中文字体解析; 遇到的问题: 直接解析出来的数据为list形式,而且编码格式为unicode; 解决问题: 前提了解:  中文编码的规则 —— GB2312 

  字符串在Python内部的表示是unicode编码,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

  decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312’),表示将gb2312编码的字符串转换成unicode编码。

  encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312’),表示将unicode编码的字符串转换成gb2312编码。

示例如下: filepath:文件绝对路径 with open(filepath, mode='rb') as f:     reader = csv.reader(f)     # i 设置按行获取数据     for i, rows in enumerate(reader):         try:             # 解决读取csv文件中文格式乱码——gb2312只支持普通中文字符             row1 = [row1.decode('GB2312').encode('utf-8') for row1 in rows]         except:        #存在繁体时             #gbk支持繁体中文和日文假文             row1 = [row1.decode('GBK').encode('utf-8') for row1 in rows]

转载于:https://www.cnblogs.com/dozn/p/8668201.html

你可能感兴趣的文章
Hadoop概念学习系列之搭建(windows)Eclipse/MyEclipse远程操作(Linux上)hadoop2.2.0/hadoop2.6.0 出错集(三十五)...
查看>>
淘米水的10大功效
查看>>
android 中如何分析内存泄漏
查看>>
关于简明Vim练级攻略
查看>>
遇到不可重现问题怎么办
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统(57)-插件---ueditor使用
查看>>
swift-数组array
查看>>
jQuery插件开发学习笔记
查看>>
现代软件工程 第十三章 【软件测试】 练习与讨论
查看>>
SharePoint Framework 开发工具和库
查看>>
团队项目建议 - 英语学习 App
查看>>
30个非常流行的提示信息插件(jQuery Tooltip Plugin)
查看>>
对PostgreSQL Merge Join 的理解
查看>>
使用Fiddler测试WCF
查看>>
iOS开发-消息转发
查看>>
JavaScript语法介绍
查看>>
Python3-for-enumerate
查看>>
ios开发学习--列表(Table)效果源码分享--系列教程3
查看>>
web.config
查看>>
5.7. 路由协议
查看>>