ruby-on-rails - Rails 解析 csv 分隔符 ¦
问题描述
我有奇怪格式的 csv 文件
2783¦Larson and Sons
967¦Becker Group
333¦Rolfson LLC
我试过这样做
CSV.foreach("#{Rails.root}/csv_files/suppliers.csv") do |supplier|
p supplier[0]
end
但有一个字符串"2783¦Larson and Sons"
如何区分值?例如将返回
supplier[0] #=> "2783"
supplier[1] #=> "Larson and Sons"
解决方案
为什么你会期望CSV
知道如何处理这种奇怪的输入?您应该明确指定编码和列分隔符。
CSV.read("#{Rails.root}/csv_files/suppliers.csv",
encoding: Encoding::ISO_8859_1,
col_sep: "\xC2\xA6".force_encoding(Encoding::ISO_8859_1)) do |supplier|
puts supplier.inspect
end
#⇒ [["2783", "Larson and Sons"],
# ["967", "Becker Group"],
# ["333", "Rolfson LLC"]]
推荐阅读
- crystal-lang - 如何在 kemal 俚语中使用 content_for
- mysql - 部署 Laravel API 和 MySQL-Problems
- asp.net-mvc - asp.net mvc中的服务器端数据表
- r - 具有变量 n 的滞后函数
- angular - 如何使用相同的键为 queryParams 分配多个值?
- android - 为什么 TextView 的对讲文本读取两次,即使 TextView 已填充,提示也会读取?
- php - 如何使用 PHP 组合检查空条件?
- javascript - Gmail API 的多用户同时身份验证
- angular - 角度5中的多选复选框值
- android - 没有 Google Fit 应用程序是否会将每日步数写入 Google Fit API?