Julia ---- 普通文本文件讀取

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

 

發佈了94 篇原創文章 · 獲贊 74 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章