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,"常用字符串打印")