现在做舆情分析的相关项目,在数据处理的时候,发现了一个问题。将数据写入到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格式,由于编码格式不一致,将会出现乱码问题。

excel打开csv 出现乱码的更多相关文章

  1. Excel打开csv文件乱码问题的解决办法

    excel打开csv 出现乱码怎么解决 https://jingyan.baidu.com/article/ac6a9a5e4c681b2b653eacf1.html CSV是逗号分隔值的英文缩写,通 ...

  2. excel打开csv文件乱码解决办法

    参考链接: https://jingyan.baidu.com/article/4dc408484776fbc8d846f168.html 问题:用 Excel 打开 csv 文件,确认有乱码的问题. ...

  3. 用java代码解决excel打开csv文件乱码问题

      Java 读取csv文件后,再保存到磁盘上,然后直接用Excel打开,你会发现里面都是乱码. 贴上代码: public class Test { public static void main(S ...

  4. excel打开csv 出现乱码怎么解决

    CSV是逗号分隔值的英文缩写,通常都是纯文本文件.CSV格式是分隔的数据格式,有字段/列分隔的逗号字符和记录/行分隔换行符.通常CSV文件可以用EXCEL正常打开,但是许多人都有这样的经历,使用EXC ...

  5. excel打开csv格式的文件,数字末尾都变成零,解决方式

    excel打开csv格式的文件,数字末尾都变成零,解决方式

  6. 如何用Excel打开CSV文件

    如何用Excel打开CSV文件? CSV文件一般是MS-SQL 导出查询数据的一种格式.格式结构是 用逗号分隔数据,如果直接用Excel打开那么数据不会自动分列.需要进行一定的设置.下面是设置过程. ...

  7. PL/SQL Developer 导出csv文件,用excel打开中文显示乱码

      用PL/SQL Developer的导出csv功能把sql语句的查询结果导出到一个csv文件.这个sql查询的结果里面有中文,最后用execel打开的时候发现中文全部是乱码. 方法 1 导出csv ...

  8. PHP 导出 CSV 文件用 Excel 打开出现中文乱码

    本篇文章由:http://xinpure.com/php-export-csv-file-opened-by-excel-appear-garbled/ 乱码情况 写了一段导出 CSV 文件的代码,可 ...

  9. Mac OS X将CSV格式转换为Excel文档格式,Excel转CSV中文乱码问题

    一:在Mac上假设你使用Excel打开windows导出的CSV格式文档.你会发现表格中全部的的内容都显示在A列. 那么,怎样恢复正常呢,你能够将CSV格式的文档导入到Excel文档中,这样就正常显示 ...

随机推荐

  1. shell输出文本颜色

    绿地白字 echo -e "\033[42;37m 绿底白字 \033[0m"

  2. Tomcat+Nginx+Memcached综合案例

    Tomcat+Nginx+Memcached综合案例 说明 通过Nginx解析静态页面并将动态负载均衡调度给后面的多个Tomcat,Tomcat解析java动态程序. 由于http是无状态的协议,你访 ...

  3. Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation(知识图谱)

    知识图谱(Knowledge Graph,KG)可以理解成一个知识库,用来存储实体与实体之间的关系.知识图谱可以为机器学习算法提供更多的信息,帮助模型更好地完成任务. 在推荐算法中融入电影的知识图谱, ...

  4. Educational Codeforces Round 64 (Rated for Div. 2)题解

    Educational Codeforces Round 64 (Rated for Div. 2)题解 题目链接 A. Inscribed Figures 水题,但是坑了很多人.需要注意以下就是正方 ...

  5. 9、Python复杂数据类型(list、tuple、set、dict)

    一.列表(list):[a1,a2],可变数据类型 1.序列: 序列是基类类型,序列扩展类型包括:字符串.元组和列表 序列都可以进行的操作包括索引,切片,加,乘,检查成员. 此外,Python已经内置 ...

  6. PHP程序员最容易犯的Mysql错误

    对于大多数web应用来说,数据库都是一个十分基础性的部分.如果你在使用PHP,那么你很可能也在使用MySQL—LAMP系列中举足轻重的一份子. 对于很多新手们来说,使用PHP可以在短短几个小时之内轻松 ...

  7. python高性能编程 读书笔记

    GIL 确保 Python 进程一次只能执行一条指令 ====分析工具cProfile 分析函数耗时line_profiler  逐行分析 heapy 追踪 Python 内存中所有的对象— 这对于消 ...

  8. 如何使用 淘宝 NPM 镜像

    淘宝 NPM 镜像 原文链接 http://npm.taobao.org/ 这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同 ...

  9. How to Start Up an Open Source Company

    https://evolveum.com/start-open-source-company/ Evolveum is a successful open source company now. We ...

  10. strcspn函数的用法

    #include <string.h> main() { char *str = "Linux was first developed for 386/486-based pcs ...