我想将我的speadsheet数据转换为数组的JSON数组。
这个网站做到了:http://www.shancarter.com/data_converter/index.html和我研究了源代码。
但我想要的是一个宏/脚本/扩展或任何方式来编程它,以将我的.ods转换为JSON文件:
像这样:
NAME VALUE COLOR DATE
Alan 12 blue Sep. 25, 2009
Shan 13 "green blue" Sep. 27, 2009
John 45 orange Sep. 29, 2009
Minna 27 teal Sep. 30, 2009至:
[
["Alan",12,"blue","Sep. 25, 2009"],
["Shan",13,"green\tblue","Sep. 27, 2009"],
["John",45,"orange","Sep. 29, 2009"],
["Minna",27,"teal","Sep. 30, 2009"]
]发布于 2014-09-02 06:20:23
答案可能又晚了,但marcoconti83确实做到了这一点:读取ods文件并将其作为二维数组返回。
https://github.com/marcoconti83/read-ods-with-odfpy/blob/master/ODSReader.py
将数据放入数组中后,将其放入json文件中并不困难。示例代码如下:
import json
from odftoarray import ODSReader # renamed the file to odftoarray.py
r = ODSReader("your_file.ods")
arrays = r.getSheet("your_data_sheet_name")
json.dumps(arrays)发布于 2014-07-24 00:52:14
这可能有点晚了,但对于那些正在寻找并希望这样做的人来说,最好将.ods文件保存为.csv,这几乎是所有电子表格程序都能做到的。然后使用类似下面的代码来转换它:
import csv
import sys
import json, os
def convert(csv_filename, fieldnames):
print ("Opening CSV file: ",csv_filename)
f=open(csv_filename, 'r')
csv_reader = csv.DictReader(f,fieldnames)
json_filename = csv_filename.split(".")[0]+".json"
print ("Saving JSON to file: ",json_filename)
jsonf = open(json_filename,'w')
data = json.dumps([r for r in csv_reader])
jsonf.write(data)
f.close()
jsonf.close()
csvfile = ('path/to/the/csv/file.csv')
field_names = [
"a",
"list",
"of",
"fieldnames"
]
convert(csvfile, field_names)还有一个提示,csv非常易于阅读,所以只需浏览并确保它以您想要的格式保存,然后运行此脚本将其转换为JSON即可。在像JSONView这样的JSON查看器中查看它,然后就可以使用了!
https://stackoverflow.com/questions/9353636
复制相似问题