- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
使用 Ruby 1.8.7,我想在我的系统中接受 csv,即使这是一个管理应用程序,我似乎可以获得几种不同类型的 csvs。在我的 Mac 上,如果我使用“windows csv”选项从 excel 导出,那么默认情况下 fastercsv 可以读取它。在 Windows 上,我似乎得到了 utf-16 编码的 csvs(我还没有弄清楚如何解析)
允许用户上传可能为 utf8、utf16、ascii 等类型格式的 csv,检测和解析它们似乎是一件很常见的事情。有人解决了吗?
我开始查看 UniversalDetector 来帮助我进行检测,然后使用 Iconv 进行转换,但这似乎很棘手,希望有人能解决 :)
最佳答案
根据 FasterCSV's docs , initialize
方法接受一个 :encoding
选项:
The encoding to use when parsing the file. Defaults to your $KDOCE setting. Valid values:
n??? or
N??? for none,e??? or
E??? for EUC,s??? or
S??? for SJIS, andu??? or
U??? for UTF-8 (see Regexp.new()).
由于其列表有限,您可能需要考虑使用 iconv
对内容进行预处理,然后将它们传递给 CSV。您可以使用 Ruby 的 iconv(“Iconv”)接口(interface)或它的命令行版本。 Iconv 非常强大和灵活,能够转换 UTF-16 等。
实际上检测文档的编码问题更多,但命令行版本可以帮助你。如果我没记错的话,它可以帮助识别编码。它还可以在编码之间进行转换,或者,如果需要,可以告诉它转换为 ASCII,转换为最接近的匹配字符,或者完全忽略它们。
在处理不同字符集方面,Ruby 1.9.2 比 1.8.7 强大得多,因此您可能需要考虑升级。此外,要更加熟悉处理字符集和多字节字符的工具和问题,您应该阅读 James Gray's blogs .
关于ruby - 将 Ruby 的 fastercsv 与字符编码结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5157584/
我像这样安装了 fastercsv gem: sudo gem install fastercsv 然后在我的 Controller 中我把这个: require 'fastercsv' 当我尝试使用
我在 csv 文件中遇到 MalformedCSVError 问题。下面给出了我卡住的地方: “# 字面上有数百个来源的“IP-to-Country”数据库可用。Man” 因为该行包含双引号。执行在此
有人知道任何演示如何使用 FasterCSV 在 Ruby 应用程序中导入数据并将其保存到 SQLite 或 MySQL 数据库的教程吗? 具体步骤如下: 逐行读取文件(.foreach 方法根据文档
我的 Rails3 应用程序解析用户上传的 CSV 文件。 正如所料,用户会上传制表符分隔和逗号分隔的文件。 我想支持两者。 我的代码: input = CSV.read(uploaded_io.te
我对 Ruby on Rails 和网络编程还很陌生。有人能给我看一些 FasterCSV 实现的例子吗? 最佳答案 FasterCSV examples folder提供了几个例子。 附言。请注意,
我使用下面的行读取了我的 csv data = FCSV.table("test.csv", {:quote_char => '"', :col_sep =>',', :row_sep =>:auto
我在 CSV 文件中有以下行在解析时给我带来了问题: 312,'997639','2','John, Doe. “J.D.” ',' ','2000',' ','街道','城市','NY','9999
大家好,我目前正在使用 fasterCSV 解析 ruby 中的 CSV 文件,想知道如何删除 CSV 上的初始数据行(初始行包含另一个生成的时间/日期信息软件包) 我尝试使用 fasterCSV
我有一个 CSV 数据文件,其中的行可能有很多 500+ 列,而有些列则少得多。我需要转置它,以便每一行成为输出文件中的一列。问题是原始文件中的行可能不都具有相同数量的列,所以当我尝试数组的转置方法时
我真的很难掌握如何有效地使用 FasterCSV 来完成我想要的。 我有一个 CSV 文件;说: ID,day,site test,tuesday,cnn.com bozo,friday,fark.c
我在 Ruby on Rails 应用程序上使用 FasterCSV,目前如果文件无效,它会抛出异常。 我查看了 FasterCSV doc , 似乎如果我使用 FasterCSV::parse使用一
我正在研究 csv 生成。我正在分隔由逗号 (,) 分隔的值。如果字段中的值包含逗号,则不应在 excel 中分隔该字段。所以我想在那里放一个转义字符。我正在使用 FasterCsv。那么我如何放置转
我正在使用 FasterCSV我正在循环使用这样的 foreach FasterCSV.foreach("#{Rails.public_path}/uploads/transfer.csv", :en
我似乎无法让它工作。我想从不同的网络服务器中提取 CSV 文件以在我的应用程序中读取。我想这样调用它: url = 'http://www.testing.com/test.csv' records
我有一个模型(称为测试): property :id, Serial property :title, String, :length => 255, :r
我正在尝试在我的数据迁移中加载一个成员数据库。相当多的名字带有特殊字符,例如“Ciarán”。我设置了一个像这样的简单示例: require 'rubygems' require 'fastercsv
使用 Ruby 1.8.7,我想在我的系统中接受 csv,即使这是一个管理应用程序,我似乎可以获得几种不同类型的 csvs。在我的 Mac 上,如果我使用“windows csv”选项从 excel
我无法理解 FasterCSV 中的 :header_converters 和 :converters。基本上,我想做的就是将列标题更改为相应的列名。 类似于: FasterCSV.foreach(c
我正在使用 FasterCSV 在 Rails 3 应用程序中生成报告的 CSV 输出。这是一个代码片段: 当 FasterCSV 包含空字符串时,它使用一对空双引号。 不幸的是,Rails 3 将
我们在为我们的小应用程序创建批量上传功能时遇到了很多问题。我们使用 FasterCSV gem 将数据上传到 MySQL 数据库,但 Faster CSV 的要求非常不稳定且精确,以至于它经常因格式错
我是一名优秀的程序员,十分优秀!