前提・実現したいこと
ChatworkからAPIで取り出したデータをpythonを使って変換しエクセルデータにしたいのです。
ChatworkからのデータはJSONデータです。
<チャットワークの内容>
name(1~8)
a0-200101-01~08
XXXXXXXXXXXXX
YYYYYYYYYYYYY
ZZZZZZZZZZZZZ
<作成したいエクセルデータの構成>
A B C D E F
1 name1 a 0 200101 1 XXXXXXXXXXXXX/YYYYYYYYYYYYY/ZZZZZZZZZZZZZ
2 name2 a 0 200101 2 XXXXXXXXXXXXX/YYYYYYYYYYYYY/ZZZZZZZZZZZZZ
3 name3 a 0 200101 3 XXXXXXXXXXXXX/YYYYYYYYYYYYY/ZZZZZZZZZZZZZ
4 name4 a 0 200101 4 XXXXXXXXXXXXX/YYYYYYYYYYYYY/ZZZZZZZZZZZZZ
5 name5 a 0 200101 5 XXXXXXXXXXXXX/YYYYYYYYYYYYY/ZZZZZZZZZZZZZ
6 name6 a 0 200101 6 XXXXXXXXXXXXX/YYYYYYYYYYYYY/ZZZZZZZZZZZZZ
7 name7 a 0 200101 7 XXXXXXXXXXXXX/YYYYYYYYYYYYY/ZZZZZZZZZZZZZ
8 name8 a 0 200101 8 XXXXXXXXXXXXX/YYYYYYYYYYYYY/ZZZZZZZZZZZZZ
下記のコードを書きました。
ですが、エラーコードが出ました。対応方法がわからず困っています。
アドバイス頂けないでしょうか。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "<ipython-input-1-vvvvv>", line 1, in <module> runfile('C:/Users/XXXXXXX/タイトル無し1.py', wdir='C:/Users/XXXXXX') File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 704, in runfile execfile(filename, namespace) File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File "C:/Users/XXXXXX/タイトル無し1.py", line 19, in <module> print("{n}({i}):{d}\n{b}".format(n=name,b=body))
該当のソースコード
python3
1import datetime 2import requests 3import json 4 5headers = { ‘X-ChatWorkToken’ : ‘自分のAPIトークン’, } 6 7mes = requests.get(“チャットワークのHttp”,headers=headers) 8jm = json.loads(mes.text) 9 10import xlsxwriter 11wb = xlsxwriter.Workbook('C:/Users/xxxxxxxx/Desktop/out.xlsx') 12ws1 = wb.add_worksheet('sheet') 13 14row_index=0 15for i in jm: 16 name=i.get("account").get("name") 17 body=i.get("body") 18 print("\n--------------------------------------------") 19 print("{n}({i}):{d}\n{b}".format(n=name,b=body)) 20 print("--------------------------------------------") 21 22 if name: 23 ws1.write(row_index, 0, name) 24 if body: 25 ws1.write(row_index, 1, body) 26 27 row_index=row_index+1 28 29wb.close()
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー