Python抓取人民币普通股历史数据并导出Excel
Python抓取人民币普通股历史数据并导出Excel
想要获取所有人民币普通股的历史数据并保存到Excel?这个Python程序可以帮到你!它能够自动抓取数据,并按照股票代码分别存储到独立的Excel文件中,无需API密钥,方便快捷。
程序功能:
- 抓取所有人民币普通股的历史数据,包括日期、开盘价、收盘价、最高价、最低价等。
- 将每个股票的数据导出到一个独立的Excel文件中,文件名为股票名称。
- 所有Excel文件存储在桌面上的'股票历史数据'文件夹中。
- 无需API密钥,直接运行即可。
程序代码:
import requests
import pandas as pd
import os
def get_stock_history(symbol):
url = f'http://quotes.money.163.com/service/chddata.html?code=0{symbol}&start=19900101&end=20500101&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;VOTURNOVER;VATURNOVER'
response = requests.get(url)
data = response.content.decode('gbk')
data_lines = data.split('\r\n')[1:-1] # 排除第一行标题和最后一个空行
stock_data = [line.split(',') for line in data_lines]
headers = data_lines[0].split(',')
df = pd.DataFrame(stock_data, columns=headers)
df['日期'] = pd.to_datetime(df['日期'])
df.set_index('日期', inplace=True)
return df
# 获取人民币普通股所有股票代码
stock_list = pd.read_csv('stock_list.csv') # 你可以将股票代码存储在一个CSV文件中,每行一个股票代码
# 创建一个文件夹来存放所有的Excel文件
output_folder = os.path.expanduser('~/Desktop/股票历史数据')
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 遍历股票代码并获取历史数据
for index, row in stock_list.iterrows():
symbol = row['股票代码']
stock_name = row['股票名称']
# 获取历史数据
stock_history = get_stock_history(symbol)
# 创建一个Excel文件来存储历史数据
output_file = os.path.join(output_folder, f'{stock_name}.xlsx')
stock_history.to_excel(output_file)
print('所有股票历史数据已导出到Excel文件。')
使用说明:
-
确保已经安装了
requests和pandas库。 可以使用pip install requests pandas命令进行安装。 -
创建一个名为
stock_list.csv的文件,用于存放所有需要抓取的股票代码和名称,格式如下:股票代码,股票名称 600000,浦发银行 600016,民生银行 ... -
运行程序,程序会自动创建 '股票历史数据' 文件夹,并将所有股票的历史数据导出到该文件夹下的Excel文件中。
注意事项:
- 本程序仅供学习交流使用,请勿用于非法用途。
- 股票市场数据波动较大,投资需谨慎。
- 建议定期更新股票代码列表,以获取最新的数据。
原文地址: https://www.cveoy.top/t/topic/mnN 著作权归作者所有。请勿转载和采集!