Julia: 如何读出csv文件中的中文字符?

来源:互联网 发布:数据库不能附加 编辑:程序博客网 时间:2024/05/05 22:51

经常会碰到csv等相关的文件,其中有中文字符,很自然,我们会想到readcsv,readdlm等内置的函数。
但这些并不能处理,会报相关字符错误。

今天,主要来探讨一下,有关这方面的问题。

这里有一个csv文件,flow.csv.格式如下:

这里写图片描述

一、加载StringEncodings库

Pkg.add(“StringEncodings”)

二、进行相关的处理

using StringEncodings;path ="C:\\Users\\Desktop\\flow.csv";data = open(path, enc"GB18030", "r") do stream    readstring(stream);end

如果:

for i in data   print(i)end

输出:

这里写图片描述

但我们知道,data是一个个字符构的字符向量,需要解析成相应的csv格式。

我们来看看,具体是如何的,为了方便,我们仅看前9行:

for (i,d) in enumerate(data)    if i<10       println("i : $i,  data内容:$d")    endend

输出:

这里写图片描述

从上面,可以看到,中文字符是读出来了,但是,我们得到的是有“,”,“\r”等的字符向量,这并不是我们最终的目的。

三、如何变成CSV格式?

请看终极大杀器:

data =open(readcsv, path, enc"GB18030");# Array{Any,2}

这样的data就是我们所需要的类似readcsv的格式。

原创粉丝点击