回答編集履歴
4
誤字修正
test
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
"バナナ"],
|
65
65
|
"数量":[50, 20, 60, 30],})
|
66
66
|
# df["日付"] = pd.to_datetime(df['日付'])
|
67
|
-
df.to_excel('
|
67
|
+
df.to_excel('Sample1.xlsx')
|
68
68
|
```
|
69
69
|
このようなプログラムで作成しました。
|
70
70
|
コメントをはずせば日付は文字列ではなく、Datetime 型で作成されます。
|
3
コードの追記
test
CHANGED
@@ -26,3 +26,45 @@
|
|
26
26
|
|
27
27
|
wb.save('Test.xlsx')
|
28
28
|
```
|
29
|
+
|
30
|
+
---
|
31
|
+
以下のようなワークシートを
|
32
|
+
![処理前のワークシート](https://ddjkaamml8q8x.cloudfront.net/questions/2022-10-03/24383511-d553-4713-bd1e-757ac18fec95.png)
|
33
|
+
|
34
|
+
```
|
35
|
+
import openpyxl
|
36
|
+
import datetime
|
37
|
+
|
38
|
+
wb = openpyxl.load_workbook('Sample1.xlsx')
|
39
|
+
ws = wb.active
|
40
|
+
|
41
|
+
for r in range(2, 6):
|
42
|
+
cell = ws.cell(row=r, column=2)
|
43
|
+
dt = cell.value
|
44
|
+
cell.value = datetime.datetime.strptime(dt, '%Y-%m-%d')
|
45
|
+
cell.number_format = 'yyyy/mm/dd'
|
46
|
+
|
47
|
+
wb.save('Sample2.xlsx')
|
48
|
+
```
|
49
|
+
このようなプログラムで処理すると、
|
50
|
+
![処理後のワークシート](https://ddjkaamml8q8x.cloudfront.net/questions/2022-10-03/e0224f48-49dc-49a7-a2f3-7c2f72afbf56.png)
|
51
|
+
このようになります。
|
52
|
+
|
53
|
+
なお、処理前のワークシートは
|
54
|
+
```
|
55
|
+
import pandas as pd
|
56
|
+
|
57
|
+
df = pd.DataFrame({"日付":["2021-11-29",
|
58
|
+
"2021-11-30",
|
59
|
+
"2021-12-01",
|
60
|
+
"2021-12-02"],
|
61
|
+
"商品名":["りんご",
|
62
|
+
"ブドウ",
|
63
|
+
"みかん",
|
64
|
+
"バナナ"],
|
65
|
+
"数量":[50, 20, 60, 30],})
|
66
|
+
# df["日付"] = pd.to_datetime(df['日付'])
|
67
|
+
df.to_excel('Test844.xlsx')
|
68
|
+
```
|
69
|
+
このようなプログラムで作成しました。
|
70
|
+
コメントをはずせば日付は文字列ではなく、Datetime 型で作成されます。
|
2
表記の改善
test
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
|
5
5
|
データフレームを使用しているのであれば、以下が参考になるかと思います。
|
6
6
|
[pandasのto_datetimeでobject型からdatetime型に変換する](https://datatechlog.com/pandas_to_datetime/)
|
7
|
+
|
7
8
|
---
|
8
9
|
"openpyxl" では標準ライブラリの`datetime`を使用します。
|
9
10
|
以下のコードを実行してみてください。
|
1
コードの追記
test
CHANGED
@@ -4,3 +4,24 @@
|
|
4
4
|
|
5
5
|
データフレームを使用しているのであれば、以下が参考になるかと思います。
|
6
6
|
[pandasのto_datetimeでobject型からdatetime型に変換する](https://datatechlog.com/pandas_to_datetime/)
|
7
|
+
---
|
8
|
+
"openpyxl" では標準ライブラリの`datetime`を使用します。
|
9
|
+
以下のコードを実行してみてください。
|
10
|
+
```
|
11
|
+
import openpyxl
|
12
|
+
import datetime
|
13
|
+
|
14
|
+
wb = openpyxl.Workbook()
|
15
|
+
ws = wb.active
|
16
|
+
|
17
|
+
cell1 = ws.cell(row=1, column=1)
|
18
|
+
cell1.value = '2022-09-30 15:04:20'
|
19
|
+
cell1.number_format = 'yyyy/mm/dd'
|
20
|
+
|
21
|
+
cell2 = ws.cell(row=2, column=1)
|
22
|
+
dt = '2022-10-01 18:32:41'
|
23
|
+
cell2.value = datetime.datetime.strptime(dt, '%Y-%m-%d %H:%M:%S')
|
24
|
+
cell2.number_format = 'yyyy/mm/dd'
|
25
|
+
|
26
|
+
wb.save('Test.xlsx')
|
27
|
+
```
|