【问题标题】:JSON Array to CSV via FasterCSV通过 FasterCSV 将 JSON 数组转换为 CSV
【发布时间】:2017-07-03 23:06:04
【问题描述】:

我有一个以下格式的 JSON 数组。

[{"Name":"Ann","Gender":"Female","Age":"20"},{"Name":"John","Gender":"Male","Age":"22"}]

我想将其转换为以下 CSV 格式而不打印“密钥”,并且我希望它只打印 Name 值和 Age 值。 例如 安,20 约翰,22

我已尝试使用以下代码。

#!//usr/bin/env ruby
require "rubygems"
require 'fastercsv'
require 'json'

csv_string = FasterCSV.generate({}) do |csv|
   JSON.parse(File.open("test").read).each do |hash|
    csv << hash
  end
end

puts csv_string

test 包含我尝试解析的 json 数组。

【问题讨论】:

  • "Gender" 发生了什么?

标签: json ruby csv parsing fastercsv


【解决方案1】:

您的 JSON 格式无效。有效的json格式为:

[{"Name":"Ann","Gender":"Female","Age":"20"},{"Name":"John","Gender":"Male","Age":"22"}]

试试这个:

require "rubygems"
require 'fastercsv'
require 'json'

csv_string = FasterCSV.generate({}) do |csv|
  JSON.parse(File.open("test").read).each do |hash|
    csv << [hash["Name"], hash["Age"]]
  end
end

puts csv_string

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2019-10-11
    • 1970-01-01
    相关资源
    最近更新 更多