在实践中研究 2022-08-22 19:01 采纳率: 100%
浏览 94
已结题

Python代码未能实现目标功能

问题遇到的现象和发生背景

爬取网站股票数据后,进行数据排序,并以Excel格式将其存入指定文件夹 。

问题相关代码,请勿粘贴截图
import urllib.request
import re
import glob
import time


# 上海、深圳A股
allCodelist=[
    '601099','601258','600010','600050','601668','601288','600604','600157','601519','600030',#上海A股
    '000725','300059','002131','300116','002195','002526','002477','000536','300104','000793',#深圳A股
    ]
for code in allCodelist:
    print('正在获取%s股票数据...' % code)
    if (code[0] == '6' or code[0]=='9'):#A股
        url = 'http://quotes.money.163.com/service/chddata.html?code=0' + code + \
              '&start=20210701&end=20220819&fields=TCLOSE;HIGH;LOW;PCHG;VOTURNOVER'
        print(url)
    else:#B股
        url = 'http://quotes.money.163.com/service/chddata.html?code=1' + code + \
              '&start=20210701&end=20220819&fields=TCLOSE;HIGH;LOW;PCHG;VOTURNOVER'
        print(url)
    urllib.request.urlretrieve(url, 'd:\\S\\' + code + '.csv')#需要提前新建好D盘的“股票”目录,将数据写入csv文件 
 
csvx_list = glob.glob('d:\\S\\*.csv')
print('总共发现%s个CSV文件' % len(csvx_list))
time.sleep(2)
print('正在处理............')
print('写入完毕!')

运行结果及报错内容

这个代码是根据网上资料修改的,目前可以将股票数据下载并存储为CSV文件。

我的解答思路和尝试过的方法

Python基础薄弱,正在学习。

我想要达到的结果

从网易财经下载的各支股票数据按照日期升序排列,以excel文件格式存贮到指定文件, 请帮忙将此代码修改完善 并实现目标功能。

  • 写回答

6条回答 默认 最新

  • PENGCM 2022-08-22 22:22
    关注

    完美解决之前有问题的代码。
    已经修改更新了代码。
    请验证。

    # coding=utf-8
    def sps():
        ppath = 'D:/Dload'  # 要存入数据的文件夹。
        start = '20220801'  # 要下载数据的起始日期。
        # 上海、深圳A股股票代码列表。
        codes = [
            '601099', '601258', '600010', '600050', '601668', '601288', '600604', '600157', '601519', '600030',  # 上海A股
            '000725', '300059', '002131', '300116', '002195', '002526', '002476', '000536', '300101', '000793',  # 深圳A股
        ]
    
        return ppath, start, codes
    
    
    def dload():
        from urllib.request import urlretrieve
        from os import makedirs, startfile
        from pandas import read_csv
        from datetime import date
        from time import sleep
        ppath, start, codes = sps()
        makedirs(ppath, exist_ok=True)
        end = date.today().strftime('%Y%m%d')
        fin = [ppath, '/', '{}', '.xlsx']
        fin = ''.join(fin).format
        st0 = '正在下载第{:02}个股票{}的数据...'.format
        urf = 'http://quotes.money.163.com/service/chddata.html?code={}{}&start={}&end={}' \
              '&fields=TCLOSE;HIGH;LOW;PCHG;VOTURNOVER'.format('{}', '{}', start, end).format
        fs = '10'
        sh = '69'
        for i, code in enumerate(sorted(codes), 1):
            print(st0(i, code))
            url = urf(fs[code[0] in sh], code)
            fn = urlretrieve(url, fin(code))[0]
            df = read_csv(fn, encoding='gbk')
            df.sort_values('日期', inplace=True)
            df.to_excel(fn, index=False)
    
        print('已完成下载排序存入!')
        sleep(1.0)
        startfile(ppath)
        return ppath
    
    
    dl = dload()
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 8月31日
  • 已采纳回答 8月23日
  • 创建了问题 8月22日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。