回答編集履歴
1
NaTに対応
test
CHANGED
@@ -24,11 +24,13 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
#
|
27
|
+
# 日時はJSTなテストデータ
|
28
28
|
|
29
29
|
import pandas as pd
|
30
30
|
|
31
|
+
import numpy as np
|
32
|
+
|
31
|
-
df = pd.DataFrame({'dt':[datetime(2018,11,27,12,tzinfo=JST)],'val':[1]})
|
33
|
+
df = pd.DataFrame({'dt':[datetime(2018,11,27,12,tzinfo=JST),np.NaN],'val':[1,2]})
|
32
34
|
|
33
35
|
print(df)
|
34
36
|
|
@@ -38,9 +40,9 @@
|
|
38
40
|
|
39
41
|
0 2018-11-27 12:00:00+09:00 1
|
40
42
|
|
43
|
+
1 NaT 2
|
44
|
+
|
41
45
|
"""
|
42
|
-
|
43
|
-
#print(df.info())
|
44
46
|
|
45
47
|
|
46
48
|
|
@@ -48,9 +50,17 @@
|
|
48
50
|
|
49
51
|
def toNative(row):
|
50
52
|
|
51
|
-
|
53
|
+
if not pd.isnull(row['dt']): # 有効な値
|
52
54
|
|
55
|
+
#row['dt'] = row['dt'].astimezone(UTC) # JST->UTCに変換して出力するなら
|
56
|
+
|
53
|
-
row['dt'] = row['dt'].replace(tzinfo=None)
|
57
|
+
row['dt'] = row['dt'].replace(tzinfo=None)
|
58
|
+
|
59
|
+
else:
|
60
|
+
|
61
|
+
row['dt'] = datetime(2000,1,1) # とりあえず意味のある値にしたいなら
|
62
|
+
|
63
|
+
pass
|
54
64
|
|
55
65
|
return row
|
56
66
|
|
@@ -66,6 +76,14 @@
|
|
66
76
|
|
67
77
|
0 2018-11-27 12:00:00 1
|
68
78
|
|
79
|
+
1 2000-01-01 00:00:00 2
|
80
|
+
|
69
81
|
"""
|
70
82
|
|
83
|
+
|
84
|
+
|
85
|
+
df.to_excel('ret.xlsx')
|
86
|
+
|
87
|
+
df.to_csv('ret.csv')
|
88
|
+
|
71
89
|
```
|