前提・実現したいこと
csvデータの内容を若干変更し、jsonに変換したいと思っております。
下記のようなコードにしたところ、idのvalueが文字列となってしまいます。
数値としてjsonデータにするには、どのようにすれば良いかわからず
質問させていただきました。
ご教授いただければ幸いです。何卒よろしくお願い致します。
※元となるcsvでは、サイズが幅(W)と高さ(H)にわかれていますが
jsonでは幅×高さという表記にしたいため、
冗長だと思ったのですが、test2.csvを作成→json変換としました。
発生している問題・エラーメッセージ
json
1// "id"の"1001"を1001としたいです。(1002も) 2[ 3 { 4 "id": "1001", 5 "name": " テスト1", 6 "size": " 50 × 100" 7 }, 8 { 9 "id": "1002", 10 "name": " テスト2", 11 "size": " 60 × 110" 12 } 13]
該当のソースコード
csv
1id,name,sizeW,sizeH 21001, テスト1, 50, 100 31002, テスト2, 60, 110
python
1import json 2import csv 3 4json_list = [] 5 6#元データを開く(test.csv) 7with open('test.csv', mode='r', encoding='utf-8') as rf: 8 reader = csv.reader(rf) 9 next(reader) 10 #サイズ表記をまとめたcsvを作成(test2.csv) 11 with open('test2.csv', mode='w', encoding='utf-8') as wf: 12 writer = csv.writer(wf) 13 writer.writerow(['id', 'name', 'size']) 14 for line in reader: 15 id = line[0] 16 name = line[1] 17 sizeW = line[2] 18 sizeH = line[3] 19 size = sizeW + ' ×' + sizeH 20 writer.writerow([id, name, size]) 21 22with open('test2.csv', 'r') as f: 23 for line in csv.DictReader(f): 24 json_list.append(line) 25 26#jsonデータを作成 27with open('test.json', 'w') as f: 28 json.dump(json_list, f, indent=2, ensure_ascii=False)
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/21 06:48