[루비] JSON to TSV~ 블록 처리와 1문 처리~
개시하다
이 글에서는 파일 읽기와 쓰기에 편리한 루비 파일 클래스를 소개한다.
사용
File.open()
, 블록당 행당 처리File.read()
, File,write()
1회 처리 Ruby 2.7.2
전제 조건
JSON
→TSV
는 예를 들어 전환할 절차를 설명했다.[{"name":"john","gender":"m","age":"18"},
{"name":"paul","gender":"m","age":"20"},
{"name":"alice","gender":"f","age":"15"},
{"name":"dabid","gender":"m","age":"17"},
{"name":"jasmin","gender":"f","age":"17"}]
↑ 이 파일을 ↓로 변환합니다.john m 18
paul m 20
alice f 15
dabid m 17
jasmin f 17
File.open () 의 블록 처리 사용하기
절차.
require "json" # JSONライブラリの読み込み
#json => Hash
meibo_hash = [{}]
File.open("meibo.json") do |meibo_json_file| # 1. meibo.jsonを開く
meibo_hash = JSON.load(meibo_json_file) # 2. JSON形式の文字列からRubyオブジェクトへ変換
end
File.open("meibo.txt", "w") do |meibo_txt| # 3. 欲しいテキストファイル、meibo.txtを作成して開く
meibo_hash.each do |meibo_hash_person|
meibo_array = [meibo_hash_person["name"],meibo_hash_person["gender"],meibo_hash_person["age"]] #3. Hash => array
meibo_txt.puts(meibo_array.join("\t")) # 4. 1行ずつタブ区切りで配列を結合し、書き込み
end
end
File.read(),File.write () 를 이용한 1문장 처리
절차.
require "json"
#json => Hash
meibo_hash_in_array = JSON.load(File.read("meibo.json")) # JSONファイルを読み取り、Rubyオブジェクトへ変換
# hash => array [~"\t"~"\t"~"\t"~,..,~"\t"~"\t"~"\t"~]
meibo_text_array = meibo_hash_in_array.map do |person|
[person["name"],person["gender"],person["age"]].join("\t") # テキストの整形
end
File.write("meibo.txt", meibo_text_array.join("\n")) # meibo.txtへ整形済みテキストを書き込み
코드는 블록 처리 때보다 더욱 뚜렷하다.그러나
File.read()
File.write()
에서는 한 줄 한 줄 처리할 수 없다.파일 크기를 모르는 상태에서 사용하지 마십시오.
참고 자료
Rubby2.70 참조 매뉴얼 라이브러리 포함 라이브러리 파일 클래스 일람
Qita 상징적 기재법 일람표, 라벨
이 기사를 쓸 때 참고하게 해 주세요.
Reference
이 문제에 관하여([루비] JSON to TSV~ 블록 처리와 1문 처리~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/koxya/articles/0c1644330ccb00텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)