回答編集履歴

3

2025/02/24 09:01

投稿

melian
melian

スコア21049

test CHANGED
@@ -1,5 +1,10 @@
1
1
  最初に全ての銘柄の終値を取得して Pandas のデータフレームにまとめておいてから、Excel のシートに貼り付けてみてはどうでしょうか。
2
2
  ```python
3
+ # 更新日を転記
4
+ today1 = datetime.date.today()
5
+ today2 = "{0:%Y/%m/%d}".format(today1)
6
+ c1.value = today2
7
+
3
8
  #ステップ2:取得情報をExcelて転記
4
9
  import pandas as pd
5
10
  from openpyxl.utils.dataframe import dataframe_to_rows

2

Ticker を入れる様に変更

2025/02/24 08:58

投稿

melian
melian

スコア21049

test CHANGED
@@ -1,8 +1,20 @@
1
- `closing_prices = data['Close']` ですが、`data['Close']` は `pandas.Series` 型なこれを1次元配列(`ndarray`)変換ます
1
+ 最初に全ての銘柄の終値を取得して Pandas のデータフレームにまとめておいてからExcel シート貼り付けてみてはどうでょうか
2
2
  ```python
3
- # 終値データ指定セルに転記(G7から)
3
+ #ステップ2:取得情報Excelて転記
4
+ import pandas as pd
5
+ from openpyxl.utils.dataframe import dataframe_to_rows
6
+
7
+ df = pd.DataFrame()
8
+ for ticker in tickers:
4
- closing_prices = data['Close'].values.flatten()
9
+ data = yf.download(ticker, period='1d', interval="1d")
5
- # closing_prices = data['Close']
10
+ df = pd.concat([df, data['Close']], axis=1)
11
+
12
+ df = df.T.reset_index()
13
+ rows = dataframe_to_rows(df, index=False, header=False)
14
+ for r_idx, row in enumerate(rows):
15
+ for c_idx, value in enumerate(row):
16
+ ws.cell(row=7+r_idx, column=7+c_idx, value=value)
17
+
18
+ wb.save(excel_path)
6
19
  ```
7
-
8
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2025-02-24/e492cd00-3636-489c-b526-2cf8916e5497.png)
20
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2025-02-24/557aa5bf-5b54-4ff8-be0f-976ecbef073b.png)

1

2025/02/24 06:33

投稿

melian
melian

スコア21049

test CHANGED
@@ -1,4 +1,4 @@
1
- `closing_prices = data['Close']` ですが、`data['Close']` は `pandas.Series` 型なので、これを1次元のリストに変換します。
1
+ `closing_prices = data['Close']` ですが、`data['Close']` は `pandas.Series` 型なので、これを1次元の配列(`ndarray`)に変換します。
2
2
  ```python
3
3
  # 終値データを指定セルに転記(G7から)
4
4
  closing_prices = data['Close'].values.flatten()