开发者社区> yi杯咖啡> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Python3写入数据到csv文件中编码问题

简介: 本人在用python导出数据到csv的过程中,发现python3.5写中文字符到csv报错, 错误信息UnicodeEncodeError: 'gbk' codec can't encode character '\u25ba' in position 494: illegal multibyte sequence 这和python2.的解决方法是不一样的,百度之后总结出来供大家互相学习。
+关注继续查看

本人在用python导出数据到csv的过程中,发现python3.5写中文字符到csv报错,

错误信息
UnicodeEncodeError: 'gbk' codec can't encode character '\u25ba' in position 494: illegal multibyte sequence

这和python2.的解决方法是不一样的,百度之后总结出来供大家互相学习。python3.的应该都可以借鉴。

1.出现UnicodeEncodeError 说明是Unicode编码时候的问题;
2.'gbk' codec can’t encode character 说明是将Unicode字符编码为GBK时候出现的问题;

此时,往往最大的可能就是,本身Unicode类型的字符中,包含了一些无法转换为GBK编码的一些字符。

解决方法:
指定文件编码为 gb18030

with open('data.csv', 'a+', encoding = 'gb18030') as f:

运行程序,无报错。
此方法同样适用文件出现乱码的问题。

开发csv文件,发现每行之间有空行存在,怎么办?
解决方案:
增加参数newline = ''

with open('data.csv', 'a+', newline = '', encoding = 'gb18030') as f:

示例:

import csv

datas = {'name':'Allen','adress':'beijing','job':'python'}

with open('data.csv', 'a+', newline = '', encoding = 'gb18030') as f:
    csvwriter = csv.writer(f,dialect=("excel"))
    csvwriter.writerow([
             'name', 
             'adress',
             'job'
    ])
    csvwriter.writerow([
            datas['name'],
            datas['adress'],
            datas['job']
        ])

结果如下


img_92c05ed0f28b50b70833673f75aff18c.png
data.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python编程-基础知识-python项目包和文件的管理以及如何引用相对路径的包和模块
目录 结构: core |____ __init__.py |____ basic           |____ __init__.py      |____ database           |____ __init__.
745 0
用 eric6 与 PyQt5 实现python的极速GUI编程(系列04)---- PyQt5自带教程:地址簿(address book)
【引子】 在PyQt5自带教程中,地址簿(address book)程序没有完全实现界面与业务逻辑分离。 本文我打算用eric6+PyQt5对其进行改写,以实现界面与逻辑完全分离。   【概览】 1、界面: 2、功能简介:程序有三种操作模式:浏览模式、添加模式、编辑模式。
969 0
Python Socket 编程——聊天室示例程序
原文:Python Socket 编程——聊天室示例程序 上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型。
1223 0
Python编程学习,高效求解素数程序实例
素数是编程中经常需要用到的。 作为学习Python的示例,下面是一个高效求解一个范围内的素数的程序,不需要使用除法或者求模运算。 1 #coding:utf-8 #设置python文件的编码为utf-8,这样就可以写入中文注释 2 def primeRange(n): ...
1016 0
python socket编程详细介绍
Python 提供了两个基本的 socket 模块。    第一个是 Socket,它提供了标准的 BSD Sockets API。    第二个是 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发。
936 0
Python专家编程
Python专家编程 一、CPythonCPython是一个默认的、广泛使用的Python编程语言的实现。CPython是用C语言写的。除了CPython,还有两个高质量的Python实现:一个是Jython,它用Java编写;另一个是IronPython,它用CLR编写,用于.NET平台。
762 0
Python的GUI编程
Python的GUI编程 使用Tkinter模块来创建简单的GUI程序。Tkinter的Widgets有:Button、Canvas、Checkbutton、Entry、Frame、Label、Listbox、Menu、Menubutton、Message、Radiobutton、Scales、Scrollbar、TEXT、Toplevel等。
777 0
使用python进行编程.工具是次要的.关键在理解代码.
开始研究下python.还是蛮喜欢这个语言的. 很简单.很有意思. 也用过eclipse的python插件. 也用过 nodepad ++ 进行编辑. 最后发现.其实python自带的
843 0
+关注
yi杯咖啡
Python Java 技术爱好者,从业人员,呆萌小男生。 简书地址:https://www.jianshu.com/u/f90444508f73
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载