環境:windows10 + ruby 2.5.3
クラウドワークスのタスクのCSV記事(SJISで保存)を、MT形式ファイル(SJIS)に保存
work_path = ‘C:/work/’ (c:\work\) に置かれている *.csv を読み込み、
C:/work/mtdata.txt (c:\work\mtdata.txt) にMT形式ファイルを保存
# codng: utf-8 require 'csv' Encoding.default_internal = 'UTF-8' # 入出力エンコード設定確認用 puts "Encoding.default_external = #{Encoding.default_external}" # =>Windows-31J puts "Encoding.default_internal = #{Encoding.default_internal}" # =>UTF-8 work_path = 'C:/work/' mt_file_name = work_path + "mtdata.txt" total_line_no = 0 File.delete(mt_file_name) if File.exists?(mt_file_name) File.open(mt_file_name, "w") do |mt_file| # MTファイルオープン csv_filenames = Dir.glob(work_path + '*.csv') # workにある *.csvファイル puts csv_filenames puts "start..." csv_filenames.each do |csv_file| puts csv_file # 作業ID 作業者 作業者ページURL 承認日時 1. 記事タイトル 2. 記事本文 csv_data = CSV.read(csv_file, headers: true) line_no = 0 csv_data.each do |data| line_no += 1 total_line_no +=1 title = data["1. 記事タイトル"] kiji = data["2. 記事本文"] mt_form = <<~MTFORM AUTHOR: TITLE: #{title} BASENAME: post#{total_line_no} STATUS: Future ALLOW COMMENTS: 0 CONVERT BREAKS: __default__ ALLOW PINGS: 0 PRIMARY CATEGORY: CATEGORY: AUTHOR: AUTHOR: DATE: 07/04/2016 23:00:36 ----- BODY: #{kiji} ----- EXTENDED BODY: ----- EXCERPT: ----- KEYWORDS: ----- -------- MTFORM mt_file.write(mt_form) end puts "\n#{total_line_no}:#{line_no}" end end
コメント