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

質問編集履歴

5

修正しました

2019/08/11 02:52

投稿

Kirari
Kirari

スコア32

title CHANGED
File without changes
body CHANGED
@@ -39,43 +39,37 @@
39
39
  mes = requests.get('チャットワークのHttp(ルーム番号含む)',headers=headers)
40
40
  jm=json.loads(mes.text)
41
41
 
42
- for i in jm:
43
- name=i.get(“account”).get(“name”)
44
-   daytime=datetime.datetime.fromtimestamp(i.get(“send_time”))
45
- mid=i.get(“message_id”)
46
- body=i.get(“body”)
47
- print("\n--------------------------------------------")
48
- print("{n}({i}):{d}\n{b}".format(n=name,i=mid,d=daytime,b=body))
49
- print("--------------------------------------------")
50
42
 
51
-
52
43
  import xlsxwriter
53
- wb = xlsxwriter.Workbook('/Users/XXXXX/Downloads/out.xlsx')
44
+ wb = xlsxwriter.Workbook('C:/Users/XXXXXXXX/Desktop/out.xlsx')
54
45
  ws1 = wb.add_worksheet('sheet')
55
46
 
56
-
57
47
  i=0
48
+ for i in jm:
49
+ name=i.get("account").get("name")
50
+ daytime=datetime.datetime.fromtimestamp(i.get("send_time"))
51
+ mid=i.get("message_id")
52
+ body=i.get("body")
53
+ print("\n--------------------------------------------")
54
+ print("{n}({i}):{d}\n{b}".format(n=name,i=mid,d=daytime,b=body))
55
+ print("--------------------------------------------")
56
+
58
- for a in filter(lambda x:x != "",name):
57
+ for a in filter(lambda x:x != "",name):
59
58
  i=i+1
60
59
  ws1.write(i, 0, a)
61
60
 
62
- i=0
63
- for a in filter(lambda x:x != "",mid):
61
+ for a in filter(lambda x:x != "",mid):
64
62
  i=i+1
65
63
  ws1.write(i, 1, a)
66
64
 
67
-
68
- i=0
69
- for a in filter(lambda x:x != "",daytime):
65
+ for a in filter(lambda x:x != "",daytime): #別対応
70
66
  i=i+1
71
67
  ws1.write(i, 2, a)
72
-
73
-
74
- i=0
68
+
75
- for a in filter(lambda x:x != "",body):
69
+ for a in filter(lambda x:x != "",body):
76
70
  i=i+1
77
71
  ws1.write(i, 3, a)
78
-
72
+
79
73
  wb.close()
80
74
  ```
81
75
 

4

コード修正しました

2019/08/11 02:52

投稿

Kirari
Kirari

スコア32

title CHANGED
File without changes
body CHANGED
@@ -41,15 +41,14 @@
41
41
 
42
42
  for i in jm:
43
43
  name=i.get(“account”).get(“name”)
44
+   daytime=datetime.datetime.fromtimestamp(i.get(“send_time”))
45
+ mid=i.get(“message_id”)
46
+ body=i.get(“body”)
47
+ print("\n--------------------------------------------")
48
+ print("{n}({i}):{d}\n{b}".format(n=name,i=mid,d=daytime,b=body))
49
+ print("--------------------------------------------")
44
50
 
45
- daytime=datetime.datetime.fromtimestamp(i.get(“send_time”))
46
- mid=i.get(“message_id”)
47
- body=i.get(“body”)
48
- print("\n--------------------------------------------")
49
- print("{n}({i}):{d}\n{b}".format(n=name,i=mid,d=daytime,b=body))
50
- print("--------------------------------------------")
51
51
 
52
-
53
52
  import xlsxwriter
54
53
  wb = xlsxwriter.Workbook('/Users/XXXXX/Downloads/out.xlsx')
55
54
  ws1 = wb.add_worksheet('sheet')

3

追記しました

2019/08/10 12:40

投稿

Kirari
Kirari

スコア32

title CHANGED
File without changes
body CHANGED
@@ -14,6 +14,9 @@
14
14
  〇〇様 お疲れ様です。今日は暑いです。熱中症に気を付けて。では。(=body)
15
15
  12454654654564564(=mid)
16
16
 
17
+ for i in jm以降はname、daytime、body、midのデータを取り出し、エクセルの1行にA列name、B列daytime、C列body、E列midを書き出し、データがあるまで書き続けて(100件)終わる設計を考えています。
18
+
19
+
17
20
  ### 発生している問題・エラーメッセージ
18
21
 
19
22
  ```

2

追記ました

2019/08/10 12:35

投稿

Kirari
Kirari

スコア32

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,13 @@
7
7
  下記のコードを書きましたが、以下のエラーがでました。
8
8
  daytimeの定義づけが違うとのこと、ネット等で検索してみたのですが解決策がみつからなく質問させていただきます。アドバイスをお願いいたします。
9
9
 
10
+ 以下追記(21:24)
11
+ チャットワーク上のデータは以下のようになります。このデータが100個あります。
12
+ 山田太郎(=name)
13
+ 2019年8月10日 12:24(=daytime)
14
+ 〇〇様 お疲れ様です。今日は暑いです。熱中症に気を付けて。では。(=body)
15
+ 12454654654564564(=mid)
16
+
10
17
  ### 発生している問題・エラーメッセージ
11
18
 
12
19
  ```

1

追記しました

2019/08/10 12:30

投稿

Kirari
Kirari

スコア32

title CHANGED
File without changes
body CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
  headers = {‘X-ChatWorkToken’:‘自分のAPIトークン’, }
28
28
 
29
- mes = requests.get("チャットワークのHttp(ルーム番号含む),headers=headers)
29
+ mes = requests.get('チャットワークのHttp(ルーム番号含む)',headers=headers)
30
30
  jm=json.loads(mes.text)
31
31
 
32
32
  for i in jm: