python 中文转码 Excel读csv
大家都知道Excel读csv用的是ascii编码,我认为,ascii没有中文,所以这里指的应该是utf-8.
我遇到的问题是这样的,unity项目只能用txt文件,有一堆数据表用txt的文档保存下来了,现在要转回Excel表。我利用Python把txt的内容读出来然后生成csv文件,因为excel能导入csv文件。后来发觉用excel打开的话中文内容会显示乱码。网友的说法是用文本文档打开,然后另存为ascii格式。这种方法我用了,果然有效,不过这个文本编辑器不支持命令行操作,不能完成自动化操作。
我用line = line.decode('gbk')这行代码,报错了。然后尝试line.decode('gbk','ignore'),再line.encode('utf-8','ignore'),发现普通编辑器打开也变成乱码了。
仔细想一想,decode的作用就是把其它编码格式转换为Unicode(utf-16),encode就是从万能的Unicode转成其它格式。我想,先保证文本能正确转成unicode吧,如果decode('gbk')会报错的话,会不会它本来就不是gbk呢。decode('utf-8')不报错,不用加ignore参数。然后我再encode('utf-8'),发现是乱码,我突然间有种预感,Python能正常显示中文的编码,Excel却不能。我试试先输出纯净的gbk,因为之前decode('utf-8')后,得到了纯净且万能的unicode编码,怀着试一试的态度,用excel打开,居然能正常显示中文。我之前的思路一直是把gbk转成utf-8,而事实上是excel能显示gbk,不能显示utf-8中文,我晕了。
最终代码如下:
line = line.decode('utf-8')
line = line.encode('gbk')
python 中文转码 Excel读csv的更多相关文章
- python读写word、excel、csv、json文件
http://blog.csdn.net/pipisorry/article/details/50368044 python读写word文档 (include wps)将word文档转换成txt文档 ...
- python#读csv,excel,json数据
#读csv,excel,json数据 with open('E:\\test\\xdd.csv','r') as f: for line in f.readlines(): print(line) i ...
- Python 处理EXCEL的CSV文档分列求SUM
相对于导出EXCEL文件,PYTHON计算更为实时. import csv import sys from optparse import OptionParser def calculate_pro ...
- Python处理Excel生成CSV文档
Python是一种解释型的.动态数据类型的.面向对象的高级程序设计语言.拥有丰富的处理数据和文本类库,并且得益于它是一种解释型的语言,在程序修改和功能扩展上,可以很容易做到大规模的调整.综合考虑Pyt ...
- Pandas 基础(4) - 读/写 Excel 和 CSV 文件
这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...
- java 读CSV 和 Excel
1.csv和excel读写对比 开发中经常遇到数据导入和导出功能,csv 和 excel是最常见的数据格式,本文比较了下csv和excel读写相同数据的效率: 测试数据格式一 用上面模板数据生成的测试 ...
- python 读csv格式的文件
对于大多数的CSV 格式的数据读写问题,都可以使用csv 库 1. 直接读csv 以下是要操作的csv文件内容 import csv with open(r'C:\Temp\f.csv') as f: ...
- 想在Java中实现Excel和Csv的导出吗?看这就对了
前言 最近在项目中遇到一个需求,需要后端提供一个下载Csv和Excel表格的接口.这个接口接收前端的查询参数,针对这些参数对数据库做查询操作.将查询到的结果生成Excel和Csv文件,再以字节流的形式 ...
- python基础 实战作业 ---Excel基本读写与数据处理
代码地址如下:http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完本 ...
随机推荐
- SQL 初级教程学习(四)
1. union,union all SELECT E_Name FROM Employees_ChinaUNIONSELECT E_Name FROM Employees_USA 默认地,UNION ...
- poj 2299 Ultra-QuickSort 归并排序求逆序数对
题目链接: http://poj.org/problem?id=2299 题目描述: 给一个有n(n<=500000)个数的杂乱序列,问:如果用冒泡排序,把这n个数排成升序,需要交换几次? 解题 ...
- Snort里的规则目录文件解读(图文详解)
不多说,直接上干货! snort的规则啊,是基于文本的,它通常存在于snort程序目录中或者子目录中,规则文件按照不同的组,进行分类存放的. snort的安装目录 [root@datatest sno ...
- 在spring boot 中使用itext和itextrender生成pdf文件
转载请注明出处 https://www.cnblogs.com/majianming/p/9539376.html 项目中需要对订单生成pdf文件,在第一版本其实已经有了比较满意的pdf文档,但是还是 ...
- [转]Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
本文转自:http://www.cnblogs.com/gesenkof99/archive/2013/06/03/3115052.html Partial 和RenderPartial:这两个的性质 ...
- 快速体验openstack-用devstack安装openstack
官网安装说明: --2014年11月15日14:14:21 安装环境:Ubuntu12.04,安装官网的说明遇到了小问题,记录在这里 --http://docs.openstack.org/devel ...
- spring实现模板文件下载
前台 <form id="batchModel0" method="post" action="/common/download-file&qu ...
- IDEA安装使用
下载地址: https://www.jetbrains.com/idea/download/previous.html 这里我下载的是:2016.3.8版本的 安装: 安装成功后,需要秘钥的话,在 h ...
- VUE 入坑系列 一 事件
html代码 <div id="app"> <button v-on:click="counter += 1">加1</butto ...
- Winform webbrowser 隐藏 html 元素
目的:用webbrowser打开网页,并隐藏网页上某个html元素 1.如果已知元素ID,比较好办 直接使用webbrowser1.Document.getElementById("id&q ...