草庐IT

JAVA - 将 CSV 导入 ArrayList

全部标签

ruby - 如何在 Roo (Rails) : invalid byte sequence in UTF-8 中编码 csv 文件

我正在尝试上传一个csv文件,但收到UTF-8中的无效字节序列错误。我正在使用“roo”gem。我的代码是这样的:defupload_results_csvfilespreadsheet=MyFileUtil.open_file(file)header=spreadsheet.row(1)#THISLINERAISESTHEERROR(2..spreadsheet.last_row).eachdo|i|row=Hash[[header,spreadsheet.row(i)].transpose]......endclassMyFileUtildefself.open_file(file

Ruby CSV.open 需要去掉引号和空字符

我正在从数据库查询中检索大量结果哈希并将它们写入csv文件。下面的代码块获取结果并创建CSV。使用quote_char:选项,它将用NULL字符替换引号,我需要这些字符才能正确创建制表符分隔的文件。但是,NULL字符在加载到目的地时会被转换为“”,因此我想删除它们。如果我省略quote_char:,每个字段都用双引号引起来,这会导致相同的结果。如何删除NULL字符?beginCSV.open("#{file_path}"'file.tab',"wb",Options={col_sep:"\t",quote_char:"\0"})do|csv|csv 最佳答案

ruby - 使用 ruby​​ 流式传输和解压缩大型 csv 文件

我遇到问题,我需要下载、解压缩,然后逐行处理一个非常大的CSV文件。我认为让您了解文件有多大很有用:big_file.zip~700mbbig_file.csv~23gb这是我希望发生的一些事情:解压缩前不必下载整个文件在解析csv行之前不必解压缩整个文件在执行所有这些操作时不要占用太多内存/磁盘我不知道这是否可能。这是我的想法:require'open-uri'require'rubyzip'require'csv'open('http://foo.bar/big_file.zip')do|zipped|Zip::InputStream.open(zipped)do|unzipped

ruby - 在 Rails 应用程序中导入 CSV 时忽略具有空白值的行

我有一个允许用户导入CSV数据的应用程序。一切正常,直到用户开始导入CSV文件中包含空白行的数据。我正在使用以下内容从CSV文件中获取行:CSV.readlines(import_file,headers:true,skip_blanks:true)我认为如果我将选项添加到skip_blanks它会这样做,但事实并非如此。关于如何忽略空白行的任何想法。谢谢! 最佳答案 这应该可行CSV.open(import_file,skip_blanks:true).reject{|row|row.all?(&:nil?)}编辑您请求了read

ruby - 使用 Ruby CSV header 转换器

假设我有以下类(class):classBuyer以及CSV文件中的以下内容:FirstName,LastNameJohn,DoeJane,Doe我想将CSV的内容保存到数据库中。我在Rake文件中有以下内容:namespace:migrationdodesc"MigrateCSVdata"task:import,[:model,:file_path]=>:environmentdo|t,args|require'csv'model=args.model.constantizepath=args.file_pathCSV.foreach(path,:headers=>true,:con

读取时出现 Ruby CSV UTF8 编码错误

这是我在做的:csv=CSV.open(file_name,"r")我用它来测试:line=csv.shiftwhilenotline.nil?putslineline=csv.shiftend我遇到了这个:ArgumentError:invalidbytesequenceinUTF-8我读了answerhere这就是我尝试过的csv=CSV.open(file_name,"r",encoding:"windows-1251:utf-8")我遇到了以下错误:Encoding::UndefinedConversionError:"\x98"toUTF-8inconversionfromW

ruby - 在 JRuby 中,如何确定导致 java.lang.ThreadDeath 的原因?

在为一些与JRuby中的临时文件交互的代码运行单元测试时,我有时会得到以下信息:Exception:java.lang.ThreadDeaththrownfromtheUncaughtExceptionHandlerinthread"Thread-6395"它似乎没有引起任何问题,但这是怎么回事,我如何确定它发生在哪里?我尝试打开-d,但这并没有给我异常的堆栈跟踪。 最佳答案 FWIW:这可能与http://jira.codehaus.org/browse/JRUBY-7074有关.我偶尔会在不使用反引号但调用系统的JRuby程序中

ruby-on-rails - 将现有的 Rails 应用程序导入 RubyMine 项目

我目前在尝试测试RubyMine时遇到了不必要的麻烦。我最大的问题是我无法找到一种方法将我系统上的现有Rails应用程序转换为官方RubyMine应用程序,以便我可以体验RubyMine的所有功能。我唯一可用的选项是创建一个新的RubyMinerails项目,从git远程拉取一个rails项目(不起作用),或者打开以前的rails目录(它允许您编辑rails代码,但它无法将此目录识别为RubyMine项目,因此我无法充分利用RubyMine对rails的所有好处)。请帮帮我,RubyMine看起来很有前途顺便说一句,这是RubyMine4。 最佳答案

Ruby 1.9.3 - CSV.table 如何知道 CSV 文件中是否没有 header ?

我一直在用CSV.table做一些测试。我有两个几乎相同的小CSV文件,但其中一个缺少标题行。当我对带有标题行的CSV文件运行CSV.table时,一切都按预期进行。当我针对没有标题行的CSV文件运行它时,我得到:NoMethodError:undefinedmethod`encode'fornil:NilClass我用不同类型的数据、不同类型的header尝试了这个,并得到了相同的结果。我很好奇CSV.table的魔力。如果我使用CSV.parse并将标题设置为true,那么无论如何它总是使第一行成为标题。所以,我一直在使用CSV.table来检查导入的CSV文件是否有标题行,但我对

ruby - 如何将 CSV 转换为 Excel?

Ruby中是否有任何插件可以将CSV文件转换为Excel。我几乎没用谷歌搜索,但我发现的只是将Excel文件转换为CSV。我知道一些我可以稍微调整并用于将Excel转换为CSV的gem,但我需要知道以前是否有人这样做过。 最佳答案 根据thispost,spreadsheetgem是一种可能性。看起来这是一个非常受欢迎的gem。看看这个。例子:book=Spreadsheet::Workbook.newsheet1=book.create_worksheetheader_format=Spreadsheet::Format.new(