回答編集履歴

2

2023/02/11 03:14

投稿

melian
melian

スコア19805

test CHANGED
@@ -26,3 +26,30 @@
26
26
  2003年4月10日,521000,521000,521000,521000,1454,651.25
27
27
  ```
28
28
 
29
+ **追記**
30
+
31
+ > 同じcsv(もしくはexcel)ファイルに、新しいurlの株価も続けて記載して行きたいです
32
+
33
+ 全ての株価テーブルを読み込んで、最後に一つのデータフレームに結合して CSV へ書き出すとよいかと思います。
34
+
35
+ ```python
36
+ import pandas as pd
37
+ import sys
38
+
39
+ urls = [
40
+ 'https://finance.yahoo.co.jp/quote/2769.T/history?from=20030410&to=20030423&timeFrame=d&page=1',
41
+ 'https://finance.yahoo.co.jp/quote/6565.T/history?from=20220101&to=20220115&timeFrame=d&page=1'
42
+ ]
43
+
44
+ dfs = []
45
+ for url in urls:
46
+ try:
47
+ df = pd.read_html(url)
48
+ dfs.append(df[0])
49
+ except ValueError:
50
+ print('not found stock table', file=sys.stderr)
51
+ break
52
+ else:
53
+ df = pd.concat(dfs, ignore_index=True)
54
+ df.to_csv('out.csv', index=False, encoding='shift-jis')
55
+ ```

1

2023/02/07 18:31

投稿

melian
melian

スコア19805

test CHANGED
@@ -4,10 +4,10 @@
4
4
  import sys
5
5
 
6
6
  url = 'https://finance.yahoo.co.jp/quote/2769.T/history?from=20030410&to=20030423&timeFrame=d&page=1'
7
+ try:
7
- dfs = pd.read_html(url)
8
+ dfs = pd.read_html(url)
8
- if len(dfs):
9
9
  dfs[0].to_csv('out.csv', index=False)
10
- else:
10
+ except ValueError:
11
11
  print('not found stock table', file=sys.stderr)
12
12
  ```
13
13