windows环境下,Python出力scv文件,打开出现乱码问题

  • (1)问题描述:
  • (2)原因:
  • (3)解决方法:

(1)问题描述:

先上代码,本来想把执行的结果打印到csv文件,用下面的代码,执行完毕生成的csv文件用excel打开是乱码

  with open('copyResult.csv', 'w', newline='',encoding='utf-8') as csvfile:spamwriter = csv.writer(csvfile)#delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)spamwriter.writerow(['总文件大小:', size])spamwriter.writerow(['文件数目:', count])

csv结果:

但是用sakura的文本编辑软件打开是正常的。(sakura能够正常识别为UTF-8编码)

(2)原因:

文件在存储的时候使用的是UTF-8的格式,但是excel在打开csv的时候不能够正常识别出该编码。
尝试用excel的数据->从文本/csv 选择csv文件打开

发现自动检测出来的不是UTF-8,所以猜测是csv打开的时候,自动检测得到的编码不能正常识别为UTF-8,导致打开的时候出现乱码。

(3)解决方法:

(1)如果只是想正常查看,可以采用下面的方法
・打开excel
・数据->从文本/csv
・选择csv文件打开
・在下面的页面里面选择原始格式的编码为(Unicode(UTF-8))

※Unicode是字符的编码方式,UTF-8是存储方式
※区别可以参照:https://baike.baidu.com/item/Unicode/750500?fr=aladdin

(2)如果想要输出的csv文件可以直接打开,而不出现乱码
在输出时候,对应的encoding设置成utf-8-sig

  with open('copyResult.csv', 'w', newline='',encoding='utf-8-sig') as csvfile:spamwriter = csv.writer(csvfile)#delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)spamwriter.writerow(['总文件大小:', size])spamwriter.writerow(['文件数目:', count])

进行带BOM的UTF-8文件的输出
BOM参照
简单来说,就是在输出之前,先输出三个不可见的字符(0xEF 0xBB 0xBF,即BOM),它是一串隐藏的字符,用于让excel识别这个文件是否以UTF-8编码
(不过这种做法貌似是在windows系统下面可行,其他系统是否支持目前还不清楚)
utf-8-sig的解释

Python出力scv文件,打开乱码问题相关推荐

  1. python写入csv文件中文乱码解决方案

    python写入csv文件中文乱码解决方案 参考文章: (1)python写入csv文件中文乱码解决方案 (2)https://www.cnblogs.com/vsivn/p/6115537.html ...

  2. 从python存入的文件是乱码_如何解决python写入html文件中乱码的现象(图文详解)...

    python写入html文件中文乱码问题 使用open函数将爬虫爬取的html写入文件,有时候在控制台不会乱码,但是写入文件的html中的中文是乱码的 案例分析 看下面一段代码:# 爬虫未使用cook ...

  3. python中打开文件时只允许写入的模式是_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  4. python中文件打开的合法模式组合_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  5. CSV文件打开乱码解决方法

    CSV文件打开乱码解决方法 问题: CSV文件通常可以用Excel打开,但有时会碰到直接用Excel打开是出现中文乱码的问题,如下图所示: 解决方法: CSV文件乱码问题一般是编码方式的问题,选择以记 ...

  6. epub文件打开乱码_什么是EPUB文件(以及如何打开一个文件)?

    epub文件打开乱码 A file with the .epub file extension is a popular file format used for storing eBooks and ...

  7. Python open()函数文件打开、读、写操作详解

    python的文件读写和打开操作都有自己特定的函数和方法,操作起来很简单.下面就来简单的了解下python文件的基本操作方法有哪些. 一.Python open()函数文件打开操作 打开文件会用到op ...

  8. android dat 乱码,微信dat文件打开乱码

    微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...

  9. csv文件打开乱码解决

    csv文件打开乱码解决 文章目录 csv文件打开乱码解决 前言 解决方法 前言 公司需要我导出csv的格式进行整理,如下图所示 我导出后用Excel打开却变成了乱码 解决方法 csv格式的文件可以使用 ...

  10. python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题

    python读取压缩文件时乱码,zipfile解压缩包,出现中文乱码问题问题 问题描述--python 使用zipfile模块 读取并且解压缩包,出现中文乱码问题 问题原因 python 使用这个模块 ...

最新文章

  1. CNN在文本分类的应用(内有代码实现) 论文Convolutional Neural Networks for Sentence Classification
  2. 积性函数与Dirichlet卷积 学习小记
  3. [转]Oracle update用例
  4. 6.OD-Run trace /Hit trace
  5. wp7技术类网站汇总
  6. LeetCode 132. 分割回文串 II(DP)
  7. 43. Know how to access names in templatized base classes.
  8. phpstudy没有安装VC11、VC14运行库
  9. 汉字编码计算机,计算机汉字编码,computerbased Chinese codings,音标,读音,翻译,英文例句,英语词典...
  10. 命令提示符死亡之ping教程
  11. ssm水电费管理系统java
  12. android银河城游戏,Endless Memories安卓版
  13. innosetup 通过操作注册表来添加默认文件关联
  14. 应用开发不可不知的五大BaaS后端云服务
  15. 股票指数的四种加权方式
  16. pandas数据日期函数之date_range()、resample()与to_period()
  17. 能够自动绘制网络拓扑图的软件——WGCLOUD
  18. android添加悬浮窗,在Android中使用WindowManager实现悬浮窗口
  19. 习题4-5 换硬币 (20分)
  20. opencv中 equalizeHist()均衡化直方图

热门文章

  1. 【源码系列】MyBatis原理源码
  2. 有限元计算计算机配置,有限元分析计算对电脑配置有什么要求
  3. 筛选法求素数-c++
  4. 极大似然函数求解_极大似然估计的理解与应用
  5. R语言向量自回归模型(VAR)及其实现
  6. 顺序表基本操作的实现
  7. [数理统计-逐步回归]国内旅游收入回归
  8. Nginx之——参数详解
  9. java hashmap value排序_按照Value对HashMap排序
  10. 小程序投票帮怎么刷票