草庐IT

FasterCSV

全部标签

ruby-on-rails - 在 fastercsv 中转义逗号值

我正在研究csv生成。我正在分隔由逗号(,)分隔的值。如果字段中的值包含逗号,则不应在excel中分隔该字段。所以我想在那里放一个转义字符。我正在使用FasterCsv。那么我如何放置转义字符。fastercsv的转义字符是什么? 最佳答案 只需引用每个字段(默认为双引号),其中的逗号将被忽略:CSV.generate(:col_sep=>',',:quote_char=>'"')do|row|row"\"Quid,quid\",latinumdictum\n\"sit,altum\",viditur.\n"

ruby-on-rails - Rails FasterCSV "unquoted fields do not allow\r or\n"

我在使用FasterCSV和我的rakedb:seeds迁移时遇到问题。我收到错误:“rake中止!未加引号的字段不允许\r或\n(第2行)”在以下seeds.rb数据上:require'csv'directory="db/init_data/"file_name="gardenzing020812.csv"path_to_file=directory+file_nameputs'LoadingPlantrecords'#Pre-loadallPlantrecordsn=0CSV.foreach(path_to_file)do|row|Plant.create!:name=>row[1

ruby-on-rails - fastercsv 的 Rails 3 服务器启动问题

我有一个正在升级到Rails3的Rails2.3.5应用程序。我做了所有我需要做的升级以及当我使用启动Rails服务器时要做的事情railsserver它给了我这个PleaseswitchtoRuby1.9'sstandardCSVlibrary.It'sFasterCSVplussupportforRuby1.9'sm17nencodingengine.我正在使用ruby-1.9.2-p0并安装了fastercsv(1.5.3)gem。在puts语句的帮助下,我能够追踪到错误发生的位置。我发现执行在这一行停止了Bundler.require(:default,Rails.env)if

ruby-on-rails - 我如何跳过前三行而不是 FasterCSV 中的第一行

我正在使用FasterCSV我正在循环使用这样的foreachFasterCSV.foreach("#{Rails.public_path}/uploads/transfer.csv",:encoding=>'u',:headers=>:first_row)do|row|但问题是我的csv将前3行作为标题...有什么方法可以使fasterCSV跳过前三行而不是仅跳过第一行?? 最佳答案 不确定FasterCSV,但在Ruby1.9标准CSV库(由FasterCSV制作)中,我可以执行以下操作:c=CSV.open'/path/to/

ruby - 使用 Ruby CSV 创建 Rails 记录,其中字符串字段不可查询

我正在尝试将种子数据从CSV文件加载到我的Rails应用程序中。我最初安装了fastercsvgem,却发现从ruby​​1.9开始,fastercsv已被弃用,取而代之的是CSV库。所以在收到一个非常有用的错误告诉我切换后,我切换到CSV。然而,现在我遇到了最奇怪的现象,当我加载数据时一切看起来都很正常,但我似乎无法查询字符串字段。字符串字段由看似正确的字符串填充,但我无法访问它们。我可以查询任何数字字段,结果将返回,但不会返回字符串字段。我尝试使用引号的定界符,但无济于事。我什至从我的csv文件中删除了所有引号,但我仍然无法查询字符串字段。下面是我的代码,以及一些来自Rails控制

ruby - FasterCSV 的应用示例

我对RubyonRails和网络编程还很陌生。有人能给我看一些FasterCSV实现的例子吗? 最佳答案 FasterCSVexamplesfolder提供了几个例子。附言。请注意,FasterCSV与Rails框架无关。是一个Ruby库。 关于ruby-FasterCSV的应用示例,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4859913/

ruby - 我如何 robuSTLy 解析格式错误的 CSV?

我正在处理来自政府来源(FEC、州选民数据库等)的数据。它的格式不一致,以各种令人愉快的方式破坏了我的CSV解析器。它是外部来源和权威的。我必须解析它,我不能让它重新输入、在输入时验证等等。就是这样;我不控制输入。属性:字段包含格式错误的UTF-8(例如Foo\xABbar)行的第一个字段指定已知集中的记录类型。了解记录类型,您就会知道有多少个字段以及它们各自的数据类型,但直到您知道为止。文件中的任何给定行都可以使用带引号的字符串("foo",123,"bar")或不带引号的字符串(foo,123,bar)。我还没有遇到它在给定行中混合的任何地方(即"foo",123,bar),但它可

ruby - 使用 FasterCSV gem 克服 CSV 解析的基本问题

我发现了FasterCSV(1.5.0)的CSV解析问题,这似乎是一个真正的错误,但我希望有一个解决方法。基本上,当字段用引号引起来时,在分隔符后添加一个空格(在我的例子中是逗号)会生成MalformedCSVError。这是一个简单的例子:#Noquotesonfields--worksfineFasterCSV.parse_line("one,two,three")=>["one","two","three"]#Quotesaroundfieldswithnospacesafterseparators--worksfineFasterCSV.parse_line("\"one\",

ruby-on-rails - CSV - 未加引号的字段不允许\r 或\n(第 2 行)

尝试解析CSV文件,但仍然收到错误消息Unquotedfieldsdonotallow\ror\n(line2).。我在SOsimilartopic上找到了这里,其中提示执行以下操作:CSV.open('file.csv',:row_sep=>"\r\n")do|csv|但不幸的是他对我不起作用...我无法更改CSV文件,所以我需要在代码中修复它。编辑CSV文件示例:A;B;C1234;...有什么办法吗?非常感谢! 最佳答案 首先,您应该将列分隔符设置为“;”,因为这不是解析CSV文件的常规方式。这对我有用:CSV.open('f

ruby - 如何使用 Ruby 将列标题写入 csv 文件?

我在使用Ruby将列写入csv文件时遇到问题。下面是我的代码片段。calc=numerator/denominator.to_fdata_out="#{numerator},#{denominator},#{calc}"File.open('cdhu3_X.csv','a+')do|hdr|hdr代码将列标题添加到每一行,我只需要将它放在每列数据的顶部。我已经在这里和其他地方进行了搜索,但找不到有关其完成方式的明确答案。任何帮助将不胜感激。 最佳答案 我建议改用CSV库:require'csv'CSV.open('test.csv'