簡體   English   中英

從 Python 將數據放入 excel 表

[英]Putting Data into excel sheet from Python

我正在嘗試將 kwargs function 的輸出放入帶有一列股票代碼的 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])

我認為問題在於下面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]的每次訪問都會出錯

希望這對你有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM