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文件。')

使用说明:

  1. 确保已经安装了 requestspandas 库。 可以使用 pip install requests pandas 命令进行安装。

  2. 创建一个名为 stock_list.csv 的文件,用于存放所有需要抓取的股票代码和名称,格式如下:

    股票代码,股票名称
    600000,浦发银行
    600016,民生银行
    ...
    
  3. 运行程序,程序会自动创建 '股票历史数据' 文件夹,并将所有股票的历史数据导出到该文件夹下的Excel文件中。

注意事项:

  • 本程序仅供学习交流使用,请勿用于非法用途。
  • 股票市场数据波动较大,投资需谨慎。
  • 建议定期更新股票代码列表,以获取最新的数据。
Python抓取人民币普通股历史数据并导出Excel

原文地址: https://www.cveoy.top/t/topic/mnN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录