Chr*_*oph 3 ruby csv tab-delimited
我有一个问题,真的是这个问题,所以我试着举个例子:
以下代码工作并创建预期输出:分隔文件,其中每列由"实际"选项卡分隔.
CSV.open(@targetfile, "wb", "\t") { |csv|
csv << ["row", "of", "CSV", " }
Run Code Online (Sandbox Code Playgroud)
以下代码不会产生预期的输出.
CSV.open(@targetfile, "wb", @targetdelimiter) { |csv|
csv << ["row", "of", "CSV", "data"] }
Run Code Online (Sandbox Code Playgroud)
@targetdelimiter在这种情况下,它来自数据库,实际上是'\t'可以由用户配置的字符串(不带引号).
此代码也产生分隔输出,但我可以看到'\t'而不是"真正的"制表符.
我可以用第二个代码块来获得与@targetdelimiter='\t'db中给出的第一个代码块相同的结果?
只需gsub就可以完成它.
CSV.open(@targetfile, "wb", @targetdelimiter.gsub('\t',"\t")){ |csv|
csv << ["row", "of", "CSV", "data"] }
Run Code Online (Sandbox Code Playgroud)