首页 > 编程语言 >python基础 - 数据实战

python基础 - 数据实战

时间:2024-06-23 21:58:27浏览次数:28  
标签:实战 plt python data df2 股票名称 import csv 数据

"""
数据挖掘的流程:
1- 获取数据
1- 从固有的本地获取
2- 互联网动态获取
2- 存储数据
1- 大量数据 数据库
2- 部署太大数据--使用文件存储:
1- txt
2- excel
3- csv
3- 清洗数据
4- 算法的介入
5- 结果展示
6- 分析汇总
"""
import requests,time
import pprint,csv
import threading

1- 新建一个文件

fo = open('股票数据.csv',mode='w',encoding='utf-8',newline='')
csv_write = csv.DictWriter(fo,fieldnames=['股票名称','股票代码','当前价格','成交量'])

写入列名

csv_write.writeheader()

urlList = ["https://xueqiu.com/service/v5/stock/screener/quote/list?page={}&size=30&order=desc&orderby=percent&order_by=percent&market=CN&type=sh_sz&_={}".format(page,round(time.time()*1000)) for page in range(1,3)]
def request_data(url):
#1- 请求头---做一些处理防扒机制:
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
#2- 发送请求
resp = requests.get(url,headers=header)
#print(resp.json())
dataList = resp.json()['data']['list']
# print(dataList)
# pprint.pprint(dataList)
#3- 获取你需要的信息
for one in dataList:#one 就是一只股票
pass
#1- 股票名称
#2- 股票代码
#3- 当前价格
#4- 成交量
dictTmp = {}

    dictTmp['股票名称'] = one['name']#股票名称
    dictTmp['股票代码'] = one['symbol']#股票代码
    dictTmp['当前价格'] = one['current']#当前价格
    dictTmp['成交量'] = one['volume']#成交量
    csv_write.writerow(dictTmp)

2- 多线程操作爬虫

def request_threads():
threadList = []
for url in urlList:
threadList.append(threading.Thread(target=request_data,args=(url,)))

#1- 启动线程
for one in threadList:
    one.start()
    time.sleep(1)
#2- 阻塞
for one in threadList:
    one.join()

import pandas
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus']=False
def show_data(fileName='股票数据.csv'):
#4- 数据清洗---针对csv文件
data_pd= pandas.read_csv(fileName)#从CSV文件导入数据
df = data_pd.dropna()#剔除缺失的行
df1 = df[['股票名称','当前价格']]#需要获取对应的数据
df2 = df1.iloc[:10]
print(df2)

#5- 算法介入----每一个操盘机构都有自己一套规则
#6- 展示效果:web端
# 绘制图形
plt.bar(df2['股票名称'].values, df2['当前价格'].values,label='股票分析结果')#(横坐标,纵坐标)
for a,b in zip(df2['股票名称'].values, df2['当前价格'].values):
    print(a,b)
    plt.text(a,b+5,b,horizontalalignment='center',verticalalignment='bottom',fontsize=10,rotation=0)

plt.legend()#设置生效
plt.xticks(rotation=-90)  # 设置x轴标签旋转角度
plt.xlabel('股票名称')
plt.ylabel('当前价格')
plt.show()

if name == 'main':
request_threads()#爬取数据
fo.close()#
show_data()

标签:实战,plt,python,data,df2,股票名称,import,csv,数据
From: https://www.cnblogs.com/running-snail-12345/p/18263990

相关文章

  • 如何使用ig507金融数据库的股票接口,股票API来获取MACD指标
    一、MACD指标简介MACD(MovingAverageConvergenceDivergence,移动平均收敛/发散)是一种趋势跟踪动量指标,用于分析股票或其他金融产品的价格趋势。MACD由两部分组成:差离值(DIF)和信号线(DEA)。DIF是短期(通常12天)指数移动平均线(EMA)与长期(通常26天)EMA的差值,再通过一个平滑期(通常9天)的E......
  • 【openGauss、PostgreSQL】openGauss、PostgreSQL数据库通用查表字段信息脚本-v202406
    【openGauss、PostgreSQL】openGauss、PostgreSQL数据库通用查表字段信息脚本-v20240620-2216openGauss、PostgreSQL数据库通用查表字段信息脚本-v20240620-2216openGauss、PostgreSQL数据库通用查表字段信息脚本-v20240620-2216此脚本,openGauss、PostgreSQL都可执......
  • python基础 - Qt5设计界面
    1、QtDesigner环境搭建1、安装PySide2库cmd里运行pipinstallPySide2-ihttps://pypi.douban.com/simple--trustedhostpypi.douban.com2、Pycharm关联DesignerFile->Settings->Tools->ExternalTools,打开页面。目的:用于快速设计、修改ui并生成.ui文件。Program......
  • python json反序列化为对象
    在Python中,将JSON数据反序列化为对象通常意味着将JSON格式的字符串转换为一个Python的数据结构(如列表、字典)或者一个自定义的类实例。虽然Python的标准库json模块不提供直接将JSON数据映射到类的实例的功能,但我们可以通过一些技巧来实现这个需求。以下是一个详细的示例,展示了如何......
  • Python实现语音转文字功能
    importosimportrequestsimporturllibimportcalendarimporttimeimportdatetimefrommoviepy.editorimportAudioFileClipfrompydubimportAudioSegmentfromaipimportAipSpeechclassDouYin:def__init__(self):self._headers={......
  • python基础 - 利用耗时计算回顾基础
    """json格式:1-自动化测试:做接口自动化测试响应数据里resp.json()接收数据2-测试开发:做后端服务--接口返回数据类型json转化方法:1-json--转--字典importjsonjson.loads()2-字典--转--jsonimportjsonjson.dumps()常见报错JSONDecodeError在j......
  • AI 大模型企业应用实战(07)-LangChain的Hello World项目
    pipinstall--upgradelangchain==0.0.279-ihttps://pypi.org/simple1创建一个LLM自有算力平台+开源大模型(需要有庞大的GPU资源)企业自己训练数据第三方大模型API(openai/百度文心/阿里通义千问...)数据无所谓让LLM给孩子起具有中国特色的名字。在LangChain中最基本的功......
  • python基础 - 多线程技术
    基础概念importtimedeftest(something):print(f"我开始>>>{something}")time.sleep(2)print(f"我结束>>>{something}")"""场景:1-io密集型--阻塞sleeprequestssocket"""importthreading"&quo......
  • 基于java ssm springboot摄影跟拍预定管理系统vue毕业设计项目实战分享
    前言......
  • 基于java ssm springboot社区团商品购系统vue毕业设计项目实战分享
    前言......