Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Rails 5.2は、Active Storageを標準でサポートしています。これとActive Jobを組み合わせると、CSVファイルのインポートを手軽に実装できます。 Motivation CSVファイルをインポートする際、それが小さなファイルであれば、フロント側で処理を行うのがシンプルです。しかしそれが、大きなファイルや、複雑な処理を伴う場合、一旦はサーバー側にファイルを保存し、バックグラウンドでそれを処理する場合があります。 ファイルの保存に、Active Storageを使用すれば、保存先はAWS S3でも、ファイルシステムでも対応が可能です。Herokuではファイルシステムに保存されたファイルの永続化が保証されない(=サーバーに保存したファイルは、ある日突然消えることがある)ので、AWS S3などにファイルを保存することになります。 特に日本語圏のエンジニアを悩ませるのが、Mi
[edit] extend: Forwardable 要約 このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。 読み込み require "csv" csv_text = <<~CSV_TEXT Ruby,1995 Rust,2010 CSV_TEXT IO.write "sample.csv", csv_text # ファイルから一行ずつ CSV.foreach("sample.csv") do |row| p row end # => ["Ruby", "1995"] # ["Rust", "2010"] # ファイルから一度に p CSV.read("sample.csv") # => [["Ruby", "1995"], ["Rust", "2010"]] # 文字列から一行ずつ CSV.parse(csv_text) do |row| p row
“㈱"や"㈲"などの文字をCSVなどからShift_JISで取り込み、rubyでUTF-8に変換するときにUndefinedConversionでハマった。 "㈱".encode('UTF-8', 'Shift_JIS') > "\x87\x8A" from Shift_JIS to UTF-8 > /User/sanojimaru/workspace/example/lib/string.rb:849:in `encode': "\x87\x8A" from Shift_JIS to UTF-8 (Encoding::UndefinedConversionError) Shift_JISは一部の機種依存文字に対応していないので、CP932(Windows-31J)を使えば良い。 "㈱".encode('UTF-8', 'CP932')
クラスの継承リスト: CSV < Enumerable < Object < Kernel < BasicObject extend: Forwardable 要約 このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。 読み込み # ファイルから一行ずつ CSV.foreach("path/to/file.csv") do |row| # use row here... end # ファイルから一度に arr_of_arrs = CSV.read("path/to/file.csv") # 文字列から一行ずつ CSV.parse("CSV,data,String") do |row| # use row here... end # 文字列から一行ずつ arr_of_arrs = CSV.parse("CSV,data,String") 書き込み # ファイルへ
RailsでCSV/Excel/OpenOfficeのアップロード機能の実装方法について説明します。 動作確認 Ruby 2.1 Rails 4.1 Roo 1.13.2 目次 Railsプロジェクトの作成 CSVのインポート機能の実装 Excelのインポート機能の実装 1. Railsプロジェクトの作成まず、Raislのプロジェクトを作成します。 rails new csv_import_test cd csv_import_testそして、必要なコントローラー、ビュー、モデルを作成します。 rails g controller Products index rails g model Product name:string price:integer released_on:date rake db:migrate CSV出力するためのデータを作成します。 # db/seeds.rb
Ruby on Rails で、CSVのインポート/エクスポート機能を実装する上での参考情報をご紹介します。 Ruby 1.9 は FasterCSV が標準の CSV クラスとして採用されているので、require “csv” すればすぐに使える。 ・FasterCSV Documentation ・Class: CSV (Ruby 1.9.3) CSVインポート/エクスポート実装サンプル RailsCast ・Ruby on Rails Screencasts - RailsCasts CSVインポート ・#396 Importing CSV and Excel - RailsCasts roo というスプレッドシート(Open Office, Excel, Google Spreadsheetsなど)を操作する gem を使っている。 ・Empact/roo · GitHub ・ro
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く