tianjiaozilong 2021-03-18 10:05 采纳率: 100%
浏览 254
已采纳

各位大神,想请各位帮我问一问,到底该如何将xlsx数据加入数组

from dqn_agent import Agent
from model import QNetwork
import matplotlib.pyplot as plt
from openpyxl import load_workbook
import  numpy as np
import torch
import xlrd
from openpyxl import load_workbook
import gc
import pandas as pd

STATE_SIZE = 10
EPISODE_COUNT = 1000

def dqn1(n_episodes1=EPISODE_COUNT, eps_start1=1.0, eps_end1=0.01, eps_decay1=0.9995):
    scores1 = []
    for i_episode in range(1,n_episodes1+1):
        print("Episode" + str(i_episode))

        state = getState(stockData, 0, STATE_SIZE + 1)
        agent.inventory = []
        eps = eps_start1
        #global loss
        print(1)
        for t in range(l):
            print(2)
            action = agent.act(state,eps)
            print(1)
            next_state = getState(stockData, t + 1, STATE_SIZE + 1)
            reward = 0
            done = 1 if t == l - 1 else 0
            global loss
            loss = agent.step(state, action, reward, next_state, done)

            print("loss", + str(loss))
            scores1.append(loss)
            gc.collect()
        gc.collect()

    return scores1
def getState(data, t, n):

    d = t - n + 1

    block = data[d:t + 1]
    buffer = []
    print(12345)
    for i in range(len(block)):

        print("res=",buffer[i])
        buffer.append(block[i + 1]-block[i])
        #print("res=",res[i])
        return np.array([buffer])
    #return np.array([res])

if __name__== '__main__':
    print(1)
    stockData = [None]*3024
    #stockData = []


    #datas1 =xlrd.open_workbook(r'C:\Users\86138\Desktop\zi_ding_yi.xlsx',{'constant_memory':True})
    # datas1 = xlrd.open_workbook('zi_ding_yi.xlsx')
    datas1 = load_workbook('zi_ding_yi.xlsx')

    print(2)
    table = datas1.get_sheet_by_name('Sheet1')
    row_num = 0
    print(3)
    print(table)
    # col = table.col_values(5)
    # print(col)
    while row_num <= 3024:
        row_num = row_num + 1
        stockData.append(table.cell(row=row_num,column=5).value)

        print("stockData[row_num]", stockData[row_num])
    # while row_num <= 800 :
    #     stockData.append(table.cell_value(row_num,5))
    #     row_num += 1
    #     print("stockData[row_num]",stockData[row_num])

    agent = Agent(state_size=STATE_SIZE, action_size=3)
    print(4)
    l = len(stockData)

    # scores = dqn()
    scores1 =dqn1()

我在

state = getState(stockData, 0, STATE_SIZE + 1)

这一条加了个断点。

然后运行结果是

C:\Users\86138\anaconda3\python.exe "D:\pycharm\PyCharm Community Edition 2020.2.2\plugins\python-ce\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 64243 --file C:/Users/86138/Desktop/stockPrediction-master/yunfuzai_main.py
pydev debugger: process 22548 is connecting
Connected to pydev debugger (build 202.7319.64)
1
2
3
<Worksheet "Sheet1">
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
stockData[row_num] None
s
stockData[row_num] 4155527081
stockData[row_num] 329150663
4
Episode1
Backend Qt5Agg is interactive backend. Turning interactive mode on.

我尝试过,读取excel数据是没有问题的,但是就是这个stockData是没有办法加进来,我就想问问,到底是怎么回事,想请各位大神帮帮我

  • 写回答

10条回答 默认 最新

  • Zhanghp947 2021-03-18 17:32
    关注

    直接用pandas库来读就行

    import pandas as pd
    data = pd.read_excel('文件名称',sheet_name='表单名称')
    stockData = list(data['列名'])
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!