gpt4 book ai didi

xml - 将 json 文件转换为 xml 或 csv,以便在 OppenOffice/MS Excel 中打开

转载 作者:可可西里 更新时间:2023-11-01 09:15:58 25 4
gpt4 key购买 nike

是否有任何工具可以将 json 文件转换为可以在 OpenOffice 或 Excel 中打开的 xml 或 csv 文件。

我正在开发一个 Web 应用程序并使用 MongoDB 作为后端。已经从MongoDB导出了json格式的数据,需要将数据转换成某种电子表格软件可以打开的格式。我需要将这些数据提供给客户,并在移交之前对其进行切片和切 block 和装饰。我计划实现一项功能,以 .csv 和 .xls 格式导出所需的数据,但现在需要一个快速的脏解决方案。

前段时间我也不得不做同样的事情并找到了一些东西(一个简单的脚本)来拯救我的一天。无法再次找到脚本,非常感谢任何帮助。

更新: 仍在寻找解决方案,并试图组装一个可以解决问题的快速 ruby​​ 脚本。这里有人知道 rails 中的哪个 gem 将 to_xml 添加到散列和数组吗?

最佳答案

我尝试在 Rails 控制台中使用以下代码将 json 转换为 xml:

arr = []
File.readlines("some_name.json").each {|l| arr << JSON.parse(l)}
File.open("some_name.xml", "w").write(arr.to_xml)

但是 json 中有一些带有“$”的键,Excel 拒绝打开 xml 文件。所以我在控制台中再次尝试:

class Array
def sanitize_for_xml
self.each{|entry| entry.sanitize_for_xml if entry.respond_to?(:sanitize_for_xml)}
self
end
end

class Hash
def sanitize_for_xml
self.each do |key, value|
self[key] = value.sanitize_for_xml if value.respond_to?(:sanitize_for_xml)
end

self.keys.each do |key|
self[key.gsub(/\W/, "")] = self.delete(key)
end
self
end
end

arr = []
File.readlines("galgotias.2010-08-02.json").each {|l| arr << JSON.parse(l)}
arr.sanitize_for_xml
File.open("galgotias.2010-08-02.xml", "w").write(arr.to_xml)

并且能够在 Excel 中打开生成的 xml,尽管它不是一个简洁的 excel,我花了很多时间对其进行切片和切 block 。

关于xml - 将 json 文件转换为 xml 或 csv,以便在 OppenOffice/MS Excel 中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6910072/

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