gpt4 book ai didi

ruby - 在 Ruby 中使用转义换行符解析 CSV 文件?

转载 作者:数据小太阳 更新时间:2023-10-29 07:47:20 26 4
gpt4 key购买 nike

如何在 Ruby 中解析带有转义换行符的 CSV 文件?我在 CSV 或 FasterCSV 中没有看到任何明显的内容。

这是一些示例输入:

"foo", "bar"
"rah", "baz \
and stuff"
"green", "red"

在 Python 中,我会这样做:

csvFile = "foo.csv"
csv.register_dialect('blah', escapechar='\\')
csvReader = csv.reader(open(csvFile), "blah")

最佳答案

如果包含换行符的字段被正确引用(如在您的示例数据中),那么 Ruby 的 csv 解析器可以很好地处理它们。但是,如果您想让 Ruby 删除转义字符(因为 Python 似乎可以通过设置 escapechar 来完成),那么我在 Ruby 文档中也没有看到相应的方法。 (顺便说一下,从 Ruby 1.9 开始,FasterCSV 是 Ruby 的默认 csv 实现。)

#!/usr/bin/env ruby -w
require 'csv'

CSV.foreach('test.csv') do |rec|
puts "Record: #{rec}"
end

输出:

telemachus ~ $ ruby read.rb 
Record: ["foo", "bar"]
Record: ["rah", "baz \\\nand stuff"]
Record: ["green", "red"]

关于ruby - 在 Ruby 中使用转义换行符解析 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1105882/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com