excel打开csv 出现乱码

现在做舆情分析的相关项目,在数据处理的时候,发现了一个问题。将数据写入到csv文件,用excel打开(默认)就会出现乱码,如果将数据写入到.xlsx文件就不会出现乱码,因为csv是通用格式,所以我猜想是excel的问题,在网上baidu了一下,发现果然是这样。

 

https://jingyan.baidu.com/article/ac6a9a5e4c681b2b653eacf1.html

 CSV是逗号分隔值的英文缩写,通常都是纯文本文件。CSV格式是分隔的数据格式,有字段/列分隔的逗号字符和记录/行分隔换行符。通常CSV文件可以用EXCEL正常打开,但是许多人都有这样的经历,使用EXCEL打开后,原本应该出现中文地方都变成乱码了。这种情况怎么解决呢?如下图:

 

    出现这种情况怎么解决呢?我们首先来分析一下此种情况的内在原因。在简体中文环境下,EXCEL打开的CSV文件默认是ANSI编码,如果CSV文件的编码方式为utf-8、Unicode等编码可能就会出现文件乱码的情况。

    分析了原因后,一些人已经知道怎么解决了,但为方便初学者,这里还是用图文并茂的方式讲解一下解决步骤:

  1. 使用记事本打开CSV文件

  2. 点击菜单:文件-另存为,编码方式选择ANSI

  3. 保存完毕后,再用EXCEL打开这个文件就不会出现乱码的情况。

 

http://www.gaohaipeng.com/2251.html

解决Excel打开UTF-8编码CSV文件乱码的问题

前段时间用某软件导出了一个CSV文件,需要在Excel中处理并打印,但是我直接用Excel打开这个CSV文件却发现,文件中的所有中文字符都变成了乱码,经过自己的尝试,采用数据导入的方法解决了问题,后来又搜了一下,发现还有其他方法,数据导入只是其中一种而已。现在整理总结一下:

方法1、数据导入

打开 Excel,执行“数据”->“自文本”,选择 CSV 文件,出现文本导入向导,选择“分隔符号”,下一步,勾选“逗号”,去掉“ Tab 键”,下一步,完成,在“导入数据”对话框里,直接点确定。

导入之后,所有汉字显示正常,乱码问题解决。

方法2、先另存再打开

使用记事本打开CSV文件,“文件”->“另存为”,编码方式选择ANSI,保存完毕后,用EXCEL打开这个文件就不会出现乱码的情况。

问题产生的原因

为什么excel打开utf-8存储方式的文件会出现乱码呢?因为excel打开文件时默认使用unicode的编码方式(还有的网友说是默认以ANSI编码方式打开,待考)。在Unicode基本多文种平面定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用2字节储存。恰恰utf-8是1字节的存储方式,所以excel直接打开时会出现乱码。

http://blog.csdn.net/yjpsunshine/article/details/50953577

 

产生背景

今天在用excel打开一个脚本生成的csv文件(存储编码格式为utf-8)时出现了乱码情况,但是用WPS直接打开却正常显示。因为文件是要交给客户的,office又是普遍使用的一枚办公软件,总不能让客户去安装一个WPS吧。网上一番查阅后,众说纷纭,因此特此记录下自己所踩过的坑:

解决方案

  • 用记事本打开csv文件,另存为Unicode格式
  • 之后用excel打开CSV文件,注意此时该文件的编码已是Unicode
  • 若出现每一行所有字段在一个单元格的情况,解决步骤接着看下面
  • 重新打开excel,执行”数据”->”自文本”->选择csv文件->”导入”->出现文本导入导向对话框->”下一步”->取消Tab键,选中逗号作为分隔符号->”确定”
  • 待转换成功,则会在excel中正常显示

原因分析

Excel默认打开文件的编码格式是Unicode,所以当文件里面同时含有中文、韩文、西欧字符等等的时候,此时若文件为非Unicode格式,由于编码格式不一致,将会出现乱码问题。

转载于:https://www.cnblogs.com/mlgjb/p/11187898.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值