草庐IT

csv_path

全部标签

ruby - 默认的 Ruby LOAD_PATH 是如何确定的?

假设我编译自己的新Ruby(MRI1.9.3),默认的LOAD_PATH是什么,它是如何计算的? 最佳答案 在我的机器上,初始加载路径如下所示:$ruby-e'puts$LOAD_PATH'/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/x86_64-darwin10.8.0/Users/matt/.rvm/rubies/ru

ruby-on-rails - 如何在 Rails 中的 CSV 解析期间更改编码

我想知道如何在导入和解析CSV文件时更改它的编码。我有这段代码:csv=CSV.parse(output,:headers=>true,:col_sep=>";")csv.eachdo|row|row=row.to_hash.with_indifferent_accessinsert_data_method(row)end当我读取我的文件时,我得到这个错误:Encoding::CompatibilityErrorinFileImportingController#load_fileincompatiblecharacterencodings:ASCII-8BITandUTF-8我阅读了

ruby-on-rails - Rails 3,导入前检查 CSV 文件编码

在我的应用程序(Rails3.0.5、Ruby1.8.7)中,我创建了一个导入工具来从文件导入CSV数据。问题:我要求我的用户以UTF-8编码从Excel中导出CSV文件,但大多数时候他们并没有这么做。如何在导入前验证文件是否为UTF-8?否则导入将运行但会产生奇怪的结果。我使用FasterCSV导入。错误的CSV文件示例:;VallÈeduRhÙne;CÙteRotie;谢谢。 最佳答案 您可以使用CharlockHolmes,Ruby的字符编码检测库。https://github.com/brianmario/charlock_

ruby - 快速处理大量 CSV 数据的最佳方式

我有大型CSV数据集(超过1000万行)需要处理。我有两个其他文件需要引用输出-它们包含的数据放大了我们对CSV文件中数百万行的了解。目标是输出一个新的CSV文件,其中每条记录都与来自其他文件的附加信息合并。假设大型CSV文件有交易,但客户信息和账单信息记录在另外两个文件中,我们想要输出一个新的CSV,其中每笔交易都链接到客户ID和账户ID等。一位同事有一个用Java编写的功能程序来执行此操作,但速度很慢。原因是数百万行的CSV文件显然要遍历很多很多次。我的问题是——是的,我已经开始了——我应该如何在Ruby中处理这个问题?目标是让它更快(现在18小时以上,CPU事件很少)我可以将这么

ruby - 如何在 vim 中使用正确的 ruby ?如何在 VIM 中修改 $PATH?

我在Lion上使用支持ruby​​的纯Vim(由gist安装)。我在rbenv中使用ruby​​,所以我的路径看起来像/users/me/.rbenv/shims:.....在vim中路径是:!echo$PATH>usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/fb/.rbenv/shims:....我什至可以创建和修改环境变量::let$PATH="/bar:/foo":!echo$PATH>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Ruby:无法解析在 OS X 中导出为 CSV 的 Excel 文件

我正在使用Ruby的CSV库来解析一些CSV。我有一个看似格式正确的CSV文件,它是通过将Excel文件导出为CSV创建的。但是CSV.open(filename,'r')会导致CSV::IllegalFormatError。文件中没有恶意逗号或引号,也没有我认为可能会导致问题的任何其他内容。我怀疑问题可能与行结尾有关。我能够解析通过文本编辑器(Aquamacs)手动输入的数据。就在我尝试使用从Excel(适用于OSX)导出的数据时出现问题。当我在vim中打开导出的CSV文件时,所有文本都显示在一行中,行与行之间出现^M。从文档来看,您似乎可以为open提供行分隔符;但是我不确定在这种

Ruby - 将目录添加到 $LOAD_PATH - 它有什么作用?

这其实是关于这个问题的问题:Addingadirectoryto$LOAD_PATH(Ruby)将目录添加到$LOAD_PATH时会发生什么?是不是像JavaScript一样在执行上下文中添加一个脚本文件?(可以访问其他文件中的全局方法/对象)如果没有,如何调用当前目录下其他ruby文件的方法? 最佳答案 将/Users/you/scripts/ruby目录添加到加载路径时,可以使用:require'example'代替:require'/Users/you/scripts/ruby/example.rb'

ruby - 引用 CSV 输出中的所有字段

@out=File.open("#{File.expand_path("CSV")}/#{file_name}.csv","w")CSV::Writer.generate(@out)do|csv|csv当我运行上面的代码时,它将CSV中的值存储为01、02.测试我希望它们存储为“01”、“02”、“测试” 最佳答案 改变CSV::Writer.generate(@out)do|csv|到CSV::Writer.generate(@out,{:force_quotes=>true})do|csv|

ruby 正则表达式 : capture the path of url

我想从任何URL中提取其路径。例如:网址:https://stackoverflow.com/questions/ask路径:questions/ask应该不难:url[/(?:\w{2,}\/).+/]但我认为我使用了错误的模式来“忽略这个”('?:'-不起作用)。什么是正确的方法? 最佳答案 我建议您不要使用正则表达式来执行此操作,而是使用内置的URI库:require'uri'uri=URI::parse('http://stackoverflow.com/questions/ask')putsuri.path#results

ruby - 你如何使用 Ruby CSV 转换器?

假设您有以下文件:textfield,datetimefield,numfieldfoo,2008-07-0117:50:55.004688,1bar,2008-07-0217:50:55.004688,2读取.csv的Ruby代码类似于:#!/usr/bin/envrubyrequire'csv'csv=CSV($stdin,:headers=>true,:converters=>:all)csv.eachdo|row|print"#{row}"the_date=row['datetimefield'].to_dateend该代码给出了这个错误信息:./foo2.rb:8:in`bl