使用 Python 爬取股票数据并存入 CSV

在数据分析和金融领域,获取股票数据是非常重要的一环。Python 拥有强大的库和框架,使得我们能够轻松地爬取实时数据并存储为 CSV 文件。本文将为大家介绍如何用 Python 爬取股票数据并将其存入 CSV 文件中。

流程概述

我们将按照以下步骤完成这一任务:

  1. 选择股票数据源:例如,可以使用 Yahoo Finance 或其他开放的股票数据 API。
  2. 爬取数据:使用 Python 的Requests库和数据处理库 Pandas。
  3. 存储数据:将爬取的数据存储为 CSV 文件。
  4. 数据可视化:使用 Matplotlib 或 Seaborn 库进行数据可视化。

下面是一个简单的流程图,展示了整个过程:

flowchart TD
    A[选择股票数据源] --> B[爬取数据]
    B --> C[处理数据]
    C --> D[存储为 CSV]
    D --> E[数据可视化]

代码示例

以下是一个简单的 Python 示例,演示如何爬取苹果公司的股票数据并存储为 CSV 文件。我们将使用 pandasyfinance 库。

安装所需库

首先,你需要确保安装了以下库。可以使用 pip 命令进行安装:

pip install pandas yfinance matplotlib

爬取数据

import yfinance as yf
import pandas as pd

# 定义股票代码(例如苹果公司)
stock_code = 'AAPL'

# 爬取股票数据
data = yf.download(stock_code, start='2023-01-01', end='2023-12-31')

# 显示数据
print(data.head())

以上代码将使用 yfinance 获取苹果公司在 2023 年的股票数据。

存储为 CSV 文件

接下来,我们将爬取的数据存储为 CSV 文件:

# 存储为 CSV
data.to_csv(f'{stock_code}_stock_data.csv', index=True)
print(f"{stock_code} 数据已成功保存为 CSV 文件")

数据可视化

为了帮助我们理解数据,接下来绘制简单的饼状图,显示每个月的收盘价占比。

import matplotlib.pyplot as plt

# 获取每个月的收盘价数据
monthly_close = data['Close'].resample('M').mean()

# 绘制饼状图
labels = monthly_close.index.strftime('%Y-%m').tolist()
sizes = monthly_close.values

plt.figure(figsize=(8, 6))
plt.pie(sizes, labels=labels, autopct='%1.1f%%')
plt.title(f'{stock_code} 每月收盘价占比')
plt.axis('equal')  # 保证饼状图为正圆形
plt.show()

通过以上代码,我们获得了每个月的收盘价,并展示为饼状图。

pie
    title 每月收盘价占比
    "1月": 15
    "2月": 25
    "3月": 20
    "4月": 10
    "5月": 30

结论

本文介绍了如何使用 Python 爬取股票数据、将数据存储为 CSV 文件,并简单进行数据可视化。通过以上示例代码,读者可以轻松实现数据获取与存储。掌握这些技能后,你将能进一步进行数据分析与财务决策。希望本文能帮助到正在学习 Python 和数据分析的朋友们!