Tag: csv

Ruby无法解析CSV文件:CSV :: MalformedCSVError(第1行中的非法引用)

Ubuntu 12.04 LTS Ruby ruby​​ 1.9.3dev(2011-09-23修订版33323)[i686-linux] Rails 3.2.9 以下是我收到的CSV文件的内容: “date/time”,”settlement id”,”type”,”order id”,”sku”,”description”,”quantity”,”marketplace”,”fulfillment”,”order city”,”order state”,”order postal”,”product sales”,”shipping credits”,”gift wrap credits”,”promotional rebates”,”sales tax collected”,”selling fees”,”fba fees”,”other transaction fees”,”other”,”total” “Mar 1, 2013 12:03:54 AM PST”,”5481545091″,”Order”,”108-0938567-7009852″,”ALS2GL36LED”,”Solar Two Directional 36 Bright White LED Security Flood Light with Motion Activated Sensor”,”1″,”amazon.com”,”Amazon”,”Pasadena”,”CA”,”91104-1056″,”43.00″,”3.25″,”0″,”-3.25″,”0″,”-6.45″,”-3.75″,”0″,”0″,”32.80″ 但是,当我尝试解析CSV文件时,我收到错误: 1.9.3dev :016 > options = { col_sep: “,”, quote_char:'”‘ […]

Ruby:如何处理带有“坏逗号”的CSV文件?

我需要从FedEx.com处理包含送货历史的CSV文件。 不幸的是,FedEx似乎没有真正测试其CSV文件,因为它没有引用其中包含逗号的字符串。 例如,公司名称可能是“Dog Widgets,Inc。” 但CSV不引用该字符串,因此任何CSV解析器都会在“Inc.”之前认为该逗号 是一个新领域的开始。 有什么办法可以使用Ruby可靠地解析这些行吗? 我能找到的唯一区别特征是,作为字符串一部分的逗号在此之后有一个空格。 分隔字段的逗号没有空格。 不知道这有助于我解析这个,但这是我注意到的。

使用Ruby CSV在第1行中非法引用

我收到此错误: Illegal quoting in line 1. (CSV::MalformedCSVError) 我文件中的第1行如下: “Status” “Internal ID” “Language” “Created At” “Updated At” “IP Address” “Location” “Username” “GET Variables” “Referrer” “Number of Saves” “Weighted Score” “Completion Time” “Invite Code” “Invite Email” “Invite Name” “Invite: branchid” “Invite: lastname” “Invite: clientname” “Invite: membershipid” “Invite: clientid” “Invite: dateofbirth” “Invite: membershiptype” “Invite: branch” “Invite: unitid” “Invite: […]

从CSV导入Ruby数组,第一个字段作为散列键,然后在给定标题行的情况下查找字段的值

也许有人可以帮助我。 从像这样的CSV文件开始: Ticker,”Price”,”Market Cap” ZUMZ,30.00,933.90 XTEX,16.02,811.57 AAC,9.83,80.02 我设法把它们读成一个数组: require ‘csv’ tickers = CSV.read(“stocks.csv”, {:headers => true, :return_headers => true, :header_converters => :symbol, :converters => :all} ) 要validation数据,这有效: puts tickers[1][:ticker] ZUMZ 但是这不是: puts tickers[:ticker => “XTEX”][:price] 如何使用自动收录器字段作为唯一键将此数组转换为哈希值,以便我可以轻松地按照输入的第1行中的定义查找任何其他字段? 处理更多的列和行。 非常感激!

将一行字符串分隔成单独的行

Email,Division,Department 预期产量: Email,Division,Department

引用CSV输出中的所有字段

@out = File.open(“#{File.expand_path(“CSV”)}/#{file_name}.csv”, “w”) CSV::Writer.generate(@out) do |csv| csv << ["01", "02", "test"] end @out.close 当我运行上面的代码时,它将值存储在CSV中 01,02。测试 我希望他们存储为 “01”,“02”,“测试”

Ruby on Rails CSV上传和导入 – 文件名太长

我想让管理员通过csv文件将联系人导入数据库。 因此我使用ruby csv库和以下代码片段: if request.post? && params[:file].present? inputFile = params[:file].read CSV.foreach(inputFile) do |row| #save row here end end 但是在CSV.foreach(inputFile) do |row| 我得到一个“Errno :: ENAMETOOLONG – 文件名太长” – 错误,错误消息显示它使用整个csv文件作为文件名。 有谁知道它为什么这样做? 顺便说一句:csv文件使用’,’和’/ n’作为分隔符。

从SQL Server 2008解析CSV的语义正确方法是什么?

我从SQL Server 2008获得了一个CSV转储,其中包含以下行: Plumbing,196222006P,REPLACE LEAD WATER SERVICE W/1″ COPPER,1996-08-09 00:00:00 Construction,197133031B,”MORGAN SHOES” ALT,1997-05-13 00:00:00 Electrical,197135021E,”SERVICE, “OUTLETS””,1997-05-15 00:00:00 Electrical,197135021E,”SERVICE, “OUTLETS” FOOBAR”,1997-05-15 00:00:00 Construction,198120036B,”””MERITER””,””DO IT CTR””, “”NCR”” AND “”TRACE”” ALTERATION”,1998-04-30 00:00:00 parse_dbenhur很漂亮,但可以重写它以支持逗号和引号的存在吗? parse_ugly很丑陋。 # @dbenhur’s excellent answer, which works 100% for what i originally asked for SEP = /(?:,|\Z)/ QUOTED = /”([^”]*)”/ UNQUOTED = /([^,]*)/ FIELD = […]

如何解析位于Amazon S3存储桶中的CSV文件

下面是我用来从应用程序中解析CVS的代码,但我想解析位于Amazon S3存储桶中的文件。 它也需要在推送到Heroku时工作​​。 namespace :csvimport do desc “Import CSV Data to Inventory.” task :wiwt => :environment do require ‘csv’ csv_file_path = Rails.root.join(‘public’, ‘wiwt.csv.txt’) CSV.foreach(csv_file_path) do |row| p = Wiwt.create!({ :user_id => row[0], :date_worn => row[1], :inventory_id => row[2], }) end end end

Ruby如何合并两个具有略微不同标头的CSV文件

我有两个带有一些常用标题的CSV文件,其他只出现在一个或另一个中的文件,例如: # csv_1.csv H1,H2,H3 V11,V22,V33 V14,V25,V35 # csv_2.csv H1,H4 V1a,V4b V1c,V4d 我想合并它们并获得一个新的CSV文件,该文件结合了以前CSV文件的所有信息。 在需要时注入新列,并使用空值提供新单元格。 结果示例: H1,H2,H3,H4 V11,V22,V33, V14,V25,V35, V1a,,,V4b V1c,,,V4d