質問編集履歴

4

ソースコードを修正しました。

2023/01/12 01:08

投稿

msy47
msy47

スコア26

test CHANGED
File without changes
test CHANGED
@@ -77,7 +77,7 @@
77
77
  skiptext = next(textIo)
78
78
 
79
79
  # Match the regular expressions to each line and index the JSON
80
- for row in lines csv.reader(textIo):
80
+ for row in csv.reader(textIo):
81
81
 
82
82
  print(row)
83
83
  vmanage_host = row[0]
@@ -98,7 +98,7 @@
98
98
  "devicemodel ": devicemodel ,
99
99
  "bfdSessionsUp": [int(bfdSessionsUp)],
100
100
  "bfdSessions ": [int(bfdSessions)],
101
- "infgettime ": [datetime.strftime(infgettime , `%Y/%m/%d %H:%M`)],
101
+ "infgettime ": [datetime.strptime(infgettime , `%Y/%m/%d %H:%M`)],
102
102
  "IPsecTunnel ": [int(IPsecTunnel)],
103
103
  }
104
104
  r = requests.post(url, auth=awsauth, json=document, headers=headers)

3

指摘箇所を追記・修正

2023/01/12 00:28

投稿

msy47
msy47

スコア26

test CHANGED
File without changes
test CHANGED
@@ -11,9 +11,10 @@
11
11
  - [ ] ストリームで読み込ん任意の項目をdatetime型に変換したい
12
12
 
13
13
  取り込むcsv
14
+ ヘッダ8個,データ8個
14
15
  ```
15
- vmanage_host, systemip, hostname , devicemodel, bfdSessionsUp, bfdSessions, datetime, IPsecTunnel
16
+ vmanage_host, systemip, hostname , devicemodel, bfdSessionsUp, bfdSessions, dt, IPsecTunnel
16
- vmanageABC, 123.456.789.012, vedgeABC, deviceABC, 1, 2, 3, 2022/1/1 01:01, 123
17
+ vmanageABC, 123.456.789.012, vedgeABC, deviceABC, 99, 999, 2022/1/1 01:01, 123
17
18
  ```
18
19
 
19
20
  ### 発生している問題・エラーメッセージ
@@ -35,15 +36,15 @@
35
36
  from datetime import datetime
36
37
  from requests_aws4auth import AWS4Auth
37
38
 
38
- #配列
39
+ #配列(不要指摘→後に削除)
39
- vmanage_host = []
40
+ #vmanage_host = []
40
- systemip = []
41
+ #systemip = []
41
- hostname = []
42
+ #hostname = []
42
- devicemodel = []
43
+ #devicemodel = []
43
- bfdSessionsUp = []
44
+ #bfdSessionsUp = []
44
- bfdSessions = []
45
+ #bfdSessions = []
45
- datetime = []
46
+ #datetime = []
46
- IPsecTunnel = []
47
+ #IPsecTunnel = []
47
48
 
48
49
 
49
50
  region = '(略)' # e.g. us-west-1
@@ -85,7 +86,7 @@
85
86
  devicemodel = row[3]
86
87
  bfdSessionsUp = row[4]
87
88
  bfdSessions = row[5]
88
- datetime = row[6]
89
+ infgettime = row[6]
89
90
  IPsecTunnel = row[7]
90
91
 
91
92
  print(row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7])
@@ -97,7 +98,7 @@
97
98
  "devicemodel ": devicemodel ,
98
99
  "bfdSessionsUp": [int(bfdSessionsUp)],
99
100
  "bfdSessions ": [int(bfdSessions)],
100
- "datetime ": [datetime.strftime(datetime, `%Y/%m/%d %H:%M`)],
101
+ "infgettime ": [datetime.strftime(infgettime , `%Y/%m/%d %H:%M`)],
101
102
  "IPsecTunnel ": [int(IPsecTunnel)],
102
103
  }
103
104
  r = requests.post(url, auth=awsauth, json=document, headers=headers)

2

文言修正

2023/01/11 18:04

投稿

msy47
msy47

スコア26

test CHANGED
@@ -1 +1 @@
1
- Pythonストリームでdatetime型変換してOpensearchに転送したいがObject of type datetime is not JSON serializableが発生しできない
1
+ Pythonストリームでcsvを読み込みdatetime型変換し転送する際Object of type datetime is not JSON serializableエラーが発生する
test CHANGED
@@ -1,16 +1,14 @@
1
1
  ### 前提
2
2
 
3
3
  S3にアップロードされたcsvを
4
- ストリームで読み込み、型変換してOpensearchへ転送する
4
+ ストリームで読み込み、型変換してOpensearchへ転送する
5
- その際、一部のをintやdatetimeへ変換して転送したい
5
+ その際、一部のをintやdatetimeへ変換して転送する必要がある。
6
6
 
7
7
  問題
8
- datetime変換ができずエラー対処方法がわからない状況
8
+ datetime変換エラーり転送できな
9
9
 
10
10
  ### 実現したいこと
11
-
12
- ここに実現したいことを箇条書きで書いてください。
13
- - [ ] ストリームで読み込んだ一部の項目をdatetime型に変換したい
11
+ - [ ] ストリームで読み込ん任意の項目をdatetime型に変換したい
14
12
 
15
13
  取り込むcsv
16
14
  ```
@@ -20,6 +18,7 @@
20
18
 
21
19
  ### 発生している問題・エラーメッセージ
22
20
 
21
+ datetime変換エラーとなり転送できない
23
22
  ```
24
23
  [ERROR] TypeError : Object of type datetime is not JSON serializable
25
24
  ```
@@ -109,10 +108,8 @@
109
108
  【Python】日付時刻・文字列・数値型データの相互変換方法|datetime・dateモジュールの基本操作入門
110
109
  https://di-acc2.com/programming/python/22894/#index_id1
111
110
 
112
- を参考にしようとしたが、流用でき断念しました
111
+ を参考に修正したが、れも事象解消には至らず
113
112
 
114
113
  ### 補足情報(FW/ツールのバージョンなど)
115
114
  Python3.9
116
115
 
117
- ここにより詳細な情報を記載してください。
118
-

1

誤字訂正

2023/01/11 14:21

投稿

msy47
msy47

スコア26

test CHANGED
@@ -1 +1 @@
1
- Pythonでストリームでdatetime型変換してOpensearchに転送したいがObject for tyep datetime is not JSON serializableが発生しできない
1
+ Pythonでストリームでdatetime型変換してOpensearchに転送したいがObject of type datetime is not JSON serializableが発生しできない
test CHANGED
@@ -21,7 +21,7 @@
21
21
  ### 発生している問題・エラーメッセージ
22
22
 
23
23
  ```
24
- [ERROR] TypeError : Object for tyep datetime is not JSON serializable
24
+ [ERROR] TypeError : Object of type datetime is not JSON serializable
25
25
  ```
26
26
 
27
27
  ### 該当のソースコード