質問
Speadsheet of DataをJSONアレイの配列に変換したいと思います。
このサイトはそれをします: http://www.shancarter.com/data_converter/index.htmlソースコードを調べました。
しかし、私が望むのは、マクロ /スクリプト /拡張機能またはプログラムする方法です。
お気に入り:
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"]
]
解決
答えはもう一度遅れているかもしれませんが、Marcoconti83はまさにそれを実行しました。ODSファイルを読み取り、2次元配列として返すことです。
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)
他のヒント
これは少し遅れているかもしれませんが、見ていてこれをやりたい人にとっては、ほぼすべてのスプレッドシートプログラムができる.csvとして.odsファイルを保存するのが最善でしょう。次に、このようなものを使用してそれを変換します。
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に変換してください。 JSONの視聴者のようにチェックしてください jsonview そして、あなたは行くのが良いはずです!
所属していません StackOverflow