我有一个问题确实措辞这个问题,所以我尝试举个例子:如何在制表符分隔符来自数据库时编写制表符分隔的文件?
下面的代码工作,并创建预期输出:一个分隔的文件,其中每列由一个“真正的”制表符分隔。
CSV.open(@targetfile, "wb", "\t") { |csv|
csv << ["row", "of", "CSV", " }
以下代码不会产生预期结果。
CSV.open(@targetfile, "wb", @targetdelimiter) { |csv|
csv << ["row", "of", "CSV", "data"] }
@targetdelimiter
在这种情况下来自于数据库,实际上是字符串'\t'
(没有引号),它可以由用户来配置。
此代码还会生成一个分隔的输出,但我可以看到'\t'
而不是“真实”制表符。
如何使用第二个代码块获得与第一个代码块相同的结果?从数据库中输入@targetdelimiter='\t'
?
你真的在这里问的是如何将'\ t'变成“\ t”。这是一个非常有趣的问题,我不能马上想到答案。 – regularfry 2011-05-02 20:43:43