【问题标题】:Putting Data into excel sheet from Python从 Python 将数据放入 excel 工作表
【发布时间】:2020-10-03 06:35:10
【问题描述】:

我正在尝试将 kwargs 函数的输出放入一个 Excel 表中,其中有一列股票代码,一列是当前价格。该代码仅使用股票名称就可以正常工作,但是在我添加价格的那一刻,它给了我这个错误:

MMMTraceback (most recent call last):
  File "C:\Users\sss\Documents\Python Programs\Bot\Td\td4.py", line 52, in <module>

154.95
    get_ohlc(symbol=[row])
  File "C:\Users\sss\Documents\Python Programs\Bot\Td\td4.py", line 43, in get_ohlc
    for symbol, lastPrice in zip(data[symbol],data[lastPrice]):
KeyError: 154.95

其中 154.95 是该特定股票的最后价格。我很困惑为什么它把价格作为错误给我。相关代码如下,提前感谢您的帮助!

import pandas as pd

data_sheet1 = pd.read_excel('C:\\Users\\sss\\Downloads\\companylist.xlsx', index_col=0)
data_impor = data_sheet1.head(10)

workbook = xlsxwriter.Workbook('c:\\Users\\sss\\Documents\\output.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Stock')
worksheet.write('B1', 'Price')

row_1 = 1
col = 0

def get_ohlc(**kwargs):
    data = get_quotes(symbol=kwargs.get('symbol'))
    for symbol in kwargs.get('symbol'):
        print(symbol)
        print(data[symbol]['lastPrice'])
        lastPrice = data[symbol]['lastPrice']
    for symbol, lastPrice in zip(data[symbol],data[lastPrice]):
        global row_1
        worksheet.write(row, col, symbol) 
        worksheet.write(row, col + 1, lastPrice) 
        row += 1
    workbook.close()


for row in data_impor.index:
    get_ohlc(symbol=[row])

【问题讨论】:

  • 在 data[lastPrice] 你必须给它一个索引而不是最后价格
  • 您也指的是哪个数据[lastPrice]?每次都说明还是只在一个特定的行中?谢谢!

标签: python excel xlsxwriter


【解决方案1】:

我认为问题出在下面for-loop

for symbol, lastPrice in zip(data[symbol],data[lastPrice]): #on this line data[lastprice]
        global row_1
        worksheet.write(row, col, symbol) 
        worksheet.write(row, col + 1, lastPrice) 
        row += 1

如果你想访问列表中的元素,你不能给它传递索引以外的值。 如果您每次都使用data[lastPrice],并且如果lastprice 不是索引,那么使用data[lastPrice] 的每次访问都会出错

希望对你有帮助!

【讨论】:

  • 当我将 `.index ` 添加到 data[lastprice] 时,但它现在返回了这个错误,get_ohlc(symbol=[row]) File "C:\Users\nhaup\Documents\Python Programs\Bot\Td\td4.py", line 43, in get_ohlc for symbol, lastPrice in zip(data[symbol],data[lastPrice.index()]): #on this line data[lastprice] AttributeError: 'float '对象没有属性'index'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-19
相关资源
最近更新 更多