乐于分享
好东西不私藏

文本文件转入excel出现乱码、丢0怎么办?正确的打开方式是这样的

文本文件转入excel出现乱码、丢0怎么办?正确的打开方式是这样的

二调和三调的数据处理,都涉及到地类名称和地类编码。每个地方的地类代码、地类名称、三大类配置等,可能都会有一些差别。为了解决这个问题,采用配置文件是比较好的解决方法了,每个地方的地类要求不一样,运行工具前先修改一下就可以了。

我最开始得到的二调三调地类配置,都是pdf建库规范里面出抠来的,为了方便程序读取(偷懒),直接保存成了CSV(文本)文件格式。

最近有朋友问到地类统计结果有出入的问题。因为每个地方的地类编码配置可能不一样,需要用户自己打开地类配置,进行修改。考虑到大家都习惯用excel编辑,决定还是用excel保存地类配置。于是就遇到了一些奇怪的问题。

问题一:csv(文本文件)用excel打开显示乱码

csv文件用逗号或tab分隔,打开以后另存为excel文件就可以了,但是为什么打开的是乱码呢?
后来才发现是编码的问题,在代码里面读写文本文件,有考虑检测文本编码,ANSIUTF-8都能兼容。平时习惯用utf-8了,但是excel却不认utf-8,只认ANSI。把文本文件用记事本(notepad)打开,另存一下就可以了,注意另存时,编码一定要选择ANSI

问题二:csv(文本文件)用excel打开以后,地类编码前面的0丢失

这个也是地类面积统计时踩到的坑。二调的地类面积统计没有问题,因为二调的地类编码前面没有0,三调的就出了莫名奇妙的问题。后面检查了才知道打开csv保存时没有注意,地类编码前面的0丢失了。

具体的原因,估计是excel打开文本时,如果字符串全是数字组成,会默认为整型,把前面的0去掉了。那怎么保留这些0呢?那就不能直接打开,要用导入的方式了,下面我们还是用截图一步一步说明:

1)在excel的数据页下,选择 获取数据,选择从文本/csv

2)导入csv文本文件

选择要导入的文件:

3)转换数据

导入以后,出现数据预览,选择转换数据

4)修改数据类型为文本

这里看到转换后的数据,0还是丢失了,这里再选择数据类型为文本

然后选择 替换当前转换

5)关闭保存

这时地类编码前面的0正常显示了:

选择择关闭并上传,保存,大功告成!

这是一个小问题,但是很容易踩坑,如果各位老铁在收到别人给的文本文件,打开时出现异常,可以看看是不是这些问题。

关注我们,一起交流数据处理的小技巧。