Py学习  »  Alexis  »  全部回复
回复总数  3
6 年前
回复了 Alexis 创建的主题 » python循环一列并将输出附加到数据帧

最后,创建了一个数据帧列表,并在循环结束时对它们进行concat:

dfa_list = []

import numpy as np
import pandas as pd

accesskey = 'xxxx'
api = keepaAPI.API(accesskey)

df = pd.read_excel('C:/Users/xxxx.xlsx',
              sheet_name = 'abebooks',
              header = 0,
              index_col = None,
              usecols = "A:P",
              convert_float = True)

for index, row in df.iterrows():
products = api.ProductQuery(row['xxx'])
product = products[0]

newprice = products[0]['data']['NEW']
newpricetime = products[0]['data']['NEW_time']
usedprice = products[0]['data']['USED']
usedpricetime = products[0]['data']['USED_time']
bsr = products[0]['data']['SALES']
bsrtime = products[0]['data']['SALES_time']

df = pd.DataFrame([[products[0]['title'], 
products[0]['asin'],newprice[-1], usedprice[-1], bsr[-1], 
products[0]['binding']]])

df2 = pd.DataFrame([], columns=list(["title", "Asin", 
"New price", "Used price", "BSR", "Binding"]))


dfa_list.append(df2)

it_df = pd.concat(dfa_list)

您有以下列表: L=[0,1,2]列表的长度为3,您有3个项目,但索引从0开始,因此:

L[1]=1

L[2]=2

L[3]超出范围,因为列表从0变为2

当使用负索引时,从右边移动。

L[-2]=1

6 年前
回复了 Alexis 创建的主题 » python dash服务器未更新

从我对你的问题的理解来看,你正在运行两个应用程序,而你无法将另一个应用程序可视化。 要做到这一点,你必须改变你要寻找的港口:

app.run_server(debug=True,port=3004)

因为这应该是个骗局。不能在同一端口上运行两个Dash应用程序。