1、功能概述
#读取CSV 或者Excel 文件 ,Julia 都有成熟的工具包,如CSV.jl 读取csv文件并转为DataFrame
#但是类似txt等简单的文本文件读取,是需要自己处理的。下面提供了几种读取方法
#要使用到函数有
#readline() 其中readline()读取一行数据
#readlines() 一次将所有行读取到内存
#eachline(),eachline可以获取一个迭代器
#open() close() ,可以读取并关闭文件
#write()可以写入文件,但是会覆盖文件的内容,暂时没有找到追加的操作
2、代码样例
# 默认情况下,这将丢弃换行符,
words = readlines("D:/Julia/测试数据.txt")
words = readline("D:/Julia/测试数据.txt")
# 但如果要保留它们,可以传递关键字参数 keep=true:
words = readlines("D:/Julia/测试数据.txt", keep=true)
#如果已经打开了一个文件,也可以传递给readlines函数,下面的代码块会丢弃首行文本
open("D:/Julia/测试数据.txt") do io
readline(io) #丢弃首行
readlines(io)
end
#如果不想一次加载所有文件内容,则可以使用eachline函数获取一个迭代器,该迭代器每次获取一行,这适合处理来自网络套接字的流式数据
for word in eachline("D:/Julia/测试数据.txt")
if length(word) >= 24
println(word)
end
end
#这也是一种迭代方式,这种方式会自动关闭文件
open("D:/Julia/测试数据.txt") do io
while !eof(io)
word = readline(io)
if length(word) >= 24
println(word)
end
end
end
#下面会逐个字符读取文件 每个字符都是Unicode UTF-8编码
file = open("D:/Julia/测试数据.txt","r")
while !eof(file)
c = read(file, Char)
println(c)
end
#需要手动关闭文件
close(file)
#下面会逐个字符读取文件,不过得到的都是Unicode编码值
file = open("D:/Julia/测试数据.txt","w")
while !eof(file)
i = read(file, UInt8)
println(i)
end
#这里需要手动关闭文件
close(file)
#用Char 可以再次转换为字符
Char(116)
# 得到 t
#会覆盖文件里面的所有内容,目前没有找到追加的方式
write(file,"常用字符串打印")