teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/08/10 14:09

投稿

meg_
meg_

スコア10967

answer CHANGED
@@ -7,4 +7,33 @@
7
7
  ws1.write(i, 2, a)
8
8
  ```
9
9
 
10
- jsonファイルに「send_time」の項目がないかどうかは「i.get(“send_time”)」がNoneかどうかで判定できるかと思います。日付フォーマットを揃えたいのであれば、エクセルに出力するときに変換してはどうでしょうか?
10
+ jsonファイルに「send_time」の項目がないかどうかは「i.get(“send_time”)」がNoneかどうかで判定できるかと思います。日付フォーマットを揃えたいのであれば、エクセルに出力するときに変換してはどうでしょうか?
11
+
12
+ 【追記】下記修正でちゃんとデータ出力されるはずです。
13
+ 1.下記コードは「for i in jm:」の前にする。
14
+ ```python
15
+ import xlsxwriter
16
+ wb = xlsxwriter.Workbook('/Users/XXXXX/Downloads/out.xlsx')
17
+ ws1 = wb.add_worksheet('sheet')
18
+ ```
19
+ 2.下記コードはインデントを下げる。(name=i.get(“account”).get(“name”)と同じにする)
20
+ ```python
21
+ for a in filter(lambda x:x != "",name):
22
+ i=i+1
23
+ ws1.write(i, 0, a)
24
+
25
+ for a in filter(lambda x:x != "",mid):
26
+ i=i+1
27
+ ws1.write(i, 1, a)
28
+
29
+ for a in filter(lambda x:x != "",daytime): #ここのエラー対応は別途する
30
+ i=i+1
31
+ ws1.write(i, 2, a)
32
+
33
+ for a in filter(lambda x:x != "",body):
34
+ i=i+1
35
+ ws1.write(i, 3, a)
36
+ ```
37
+ 3.「i=0」は「for i in jm:」の前にする。
38
+
39
+ 元のコードですと各チャットのデータを変数に上書きしてしまいます。