查看原文
其他

数据治理 | csv 总乱码?教你三招,习一即可!

完全有用的 数据Seminar 2022-12-31

目录

一、问题背景

二、解决乱码问题

1. 另存 csv 为 Excel 可读的编码 —— 中文翻译为俄语

2. 使用 Excel 加载 csv 文件 —— 让老外学中文

3. 使用 WPS 打开 csv 文件 —— 换个会中文的老外

三、有用!这些 csv & Excel 知识你得知道

本文共2491个字,阅读大约需要8分钟,欢迎指正!

Part1问题背景

近期有用户反映:我的 csv 数据用 Excel 打开怎么是乱码的?
答:是因为 csv 文件所使用的的编码格式不是 Excel 打开 csv 文件的默认编码。
打个比方,一个俄罗斯老外去阅读中文文章,那么结果就是他可能只会读懂国际通用的阿拉伯数字。这就是 Excel 打开 csv文件出现乱码的原因。

Part2解决乱码问题

我们为大家提供了三种不同的解决 csv (Excel打开)乱码的方案。

1另存 csv 为 Excel 可读的编码  —— 中文翻译为俄语

第一个思路是,把中文文章翻译为俄语文章,这样俄罗斯老外就能正常阅读了。也就是说,把 csv 文件的编码格式改为 Excel 默认可以识别的编码格式。在 Windows 中使用系统自带的记事本就可以完成相关操作。没错,由于 csv 本质上是文本文件,所以使用记事本打开是完全没有问题的。我们再选择另存为【ANSI】编码后即可使用 Excel 正常打开了。如果不想替换原来的 csv 文件,那么可以换一个文件名另行存储,转换编码的操作方式如视频所示:

📌如视频所示,操作步骤依次为:

  1. 鼠标右击 csv 文件
  2. 【打开方式】— 【记事本】
  3. 记事本左上方【文件】— 【另存为…】— 选择“ANSI” — 【保存】
转码后鼠标再次双击另存后的 csv 文件,发现使用 Excel 打开 csv 文件不再是乱码了。

2使用 Excel 加载 csv 文件 —— 让老外学中文

第二个思路是,让俄罗斯老外学中文。事实上,使用 Excel 打开 csv 并保证不乱码并非不可以实现,只是要比第一个方法稍麻烦些。如果你希望使用 Excel 来解决这个问题,可以看下面的操作。使用 Excel 转换 csv 编码的操作如视频所示:

📌如视频所示,操作步骤依次为(不同系统,不同版本的 Excel 会导致操作步骤略有出入,但原理相同(Excel 选择合适的编码加载 csv),该操作一样可以使用):

  1. 使用【Excel】软件打开乱码的 csv — 【数据】— 【自文本】— 再次选择需要打开的 csv 文件
  2. 【下一步】— 分隔符号选择【逗号】— 【下一步】— 【完成】— 导入数据选择【新工作表】— 【确定】;随后会在 Excel 中新增一个 Sheet 表,内容是不乱码的表格。
  3. 删除原先乱码的 Sheet 表,只保留上一步新增的 Sheet 表,随后保存数据即可,保存后下次打开也不会乱码。

3使用 WPS 打开 csv 文件 —— 换个会中文的老外

第三个思路是,换个会中文的老外来阅读中文文章。Excel 软件使用特定编码打开 csv 文件的操作早就被众多用户吐槽。此外,安装问题、乱码问题、多表切换……种种问题迫使用户放弃了 Excel 软件,转而使用另一神器——WPS。早些年,WPS 也深受大家诟病,广告多,要会员等操作给用户留下许多负面印象。但是近些年来,WPS 口碑逐渐转好,择其善者而从之,其不善者而改之,正是 WPS 之于 Excel 的真实写照,越来越多的用户转用 WPS 后直呼再也回不去……
好了,废话不多说,使用 WPS 如何防止文件乱码呢,请看下图:

没错,WPS 打开 csv 不会轻易乱码(会自动选择合适的编码来加载 csv 数据),双击打开即可。

Part3有用!这些 csv & Excel 知识你得知道

  1. csv 本质上是文本文件(一行数据单元格之间使用特定符号隔开,一般是半角逗号,),类似于 txt 文件,如果想将 txt 转为 csv 表,直接将 txt 后缀名修改为 .csv 就可以了,反之亦可。

  2. Excel 表(后缀名为 .xlsx 或 .xls)是二进制文件,所以保存数据比 csv 更加节省空间。但只能使用特殊的软件才能打开,也不能通过修改文件后缀名的方式来修改 Excel 表(后缀名为 .xlsx 或 .xls)的文件格式

  3. Excel 软件适用于处理中小数据表,Excel 表最多只能保存 1048576(2 的 20 次方) 行,16384(2 的 14 次方) 列数据,能显示出的数据最多也是这些。如果您有一份两百万行的 csv 数据,那么使用 Excel 最多只能加载其中的 1048576 行(包含表头,如果不计算表头,则是 1048575 行)数据。数据列同样也是如此(最多 16384 列)。所以使用 Excel 处理超大 csv 需要注意以上问题。以上规则同样适用于 WPS 软件

  4. csv 文件没有存储上限,如果非要有的话,那就是你的硬盘空间啦。再看上面第三条,所以存储超大的表格数据,只能选择 csv 格式

  5. 不同于 Excel 工作表,csv 数据只是文本文件,不能在其中插入图片、视频等非文本格式的数据,也不能保存多个 Sheet 表。

  6. csv 文件不能保存数据的类型。我们知道,Excel 工作表可以设置单元格中数据的类型(文本,数字,日期等),并且保存后下次再打开,数据类型不会变化。  但 csv 不同,我们可以使用 Excel 打开 csv,也可以分析运算其中的数据、设置日期,数字等类型,但却不能将他们保存,因为 csv 只是文本,没有绝对的数据类型。我们使用 Excel / WPS 等软件打开 csv 文件,这些软件会自动根据 csv 的字段内容来给他们分配数据类型,如果 csv 中某一字段中全部是数字,那么打开文件后,这一字段中数据的类型大概率会是数字型。这种设定的初衷是为了方便人们使用数据,但也存在巨大的隐患,请往下看:

    我们新建一个 csv 文件 Test.csv,共两个字段,内容如下图所示(使用记事本打开):

    随后使用 Excel / WPS 打开它,如下图所示:

    可以看到,一些数据发生了变化,001 变为 1,系统自动抹除了前面“多余”的 0;99.800 变为 99.8,后的 0 也被去掉,原本精确到小数点后三位的数字变成了小数点后一位的数字!

    我们保存 csv 数据,以记事本方式再次打开保存后的 csv,如下图所示:

    显而易见,我们打开 csv ,再保存 csv ,中间什么也不做,原先的 csv 内容已经发生变化。所以,使用 csv 保存数字类型的数据表需要十分小心,如果数据量不大,笔者更建议您选择 Excel 工作表来保存包含大量数字类型的数据表

我们将在数据治理板块中推出一系列原创推文,帮助读者搭建一个完整的社科研究数据治理软硬件体系。该板块将涉及以下几个模块(点击标题即可跳转至相应合集):
  1. 计算机基础知识
  2. 编程基础
  3. 数据采集
  4. 数据存储
  5. 数据清洗
  6. 数据实验室搭建
  7. 数据治理特别篇



星标⭐我们不迷路!
想要文章及时到,文末“在看”少不了!

点击搜索你感兴趣的内容吧

往期推荐


基本无害 | 管用的工具变量——工具变量和因果关系(二)

数据治理 | 科研团队协同工作新神器!Git远程仓库的使用

基本无害 | 管用的工具变量——工具变量和因果关系(一)

数据可视化 | 太酷了!用 Python 绘制3D地理分布图

基本无害 | 管用的工具变量——工具变量和因果关系



数据Seminar




这里是大数据、分析技术与学术研究的三叉路口


文 | 两米哥


    欢迎扫描👇二维码添加关注    

点击下方“阅读全文”了解更多

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存