Python pandas UIPath - 列表分配索引超出范围
Python pandas UIPath - List assignment index out of range
我目前遇到错误
list assignment index out of range
在调用 Python 范围内。我只是想检查每个变量是否包含 'a' 中提到的任何字符串。如果是,则将其作为一行添加到 excel sheet.
import pandas as pd
import xlsxwriter
def excel_data(mz01arg,p028arg,p006arg,s007arg,mz01desc,p028desc,p006desc,s007desc):
listb=[]
a=['MZ01','P028','P006','S007']
if any (x in mz01arg for x in a) is True:
listb[0] = [mz01arg]
else:
listb[0] = []
if any (x in p028arg for x in a ) is True:
listb[1] = [p028arg]
else:
listb[1] =[]
if any (x in p006arg for x in a) is True:
listb[2]=[p006arg]
else:
listb[2] = []
if any (x in s007arg for x in a) is True:
listb[3]=[s007arg]
else:
listb[3]=[]
df1 = pd.DataFrame({'SODA COUNT': listb})
df2 = pd.DataFrame({'SODA RISK DESCRIPTION': [mz01desc,p028desc,p006desc,s007desc]})
writer = pd.ExcelWriter(r"D:\Single_process_python\try_python.xlsx", engine='xlsxwriter')
df3 = pd.concat([df1,df2],axis=1)
df3.to_excel(writer,sheet_name='Sheet1', index=False)
writer.save()
您不能写入尚不存在的元素。 listb=[]
创建一个空列表,因此没有索引为 0 的元素。您可以像这样附加项目:listb.append(foo)
。
但是,既然您提到了 UiPath - 我建议您在工作流程中而不是您的 Python 脚本中检查变量及其值。通过这种方式,您的脚本只做一件事,而且完全是一件事 - 工作流本身确保满足所有先决条件。如果没有,您可以抛出并捕获错误消息,例如在另一个工作流程中,并要求用户输入。如果该逻辑是您脚本的一部分,这将更加困难。
这是一个非常简单的例子:
我目前遇到错误
list assignment index out of range
在调用 Python 范围内。我只是想检查每个变量是否包含 'a' 中提到的任何字符串。如果是,则将其作为一行添加到 excel sheet.
import pandas as pd
import xlsxwriter
def excel_data(mz01arg,p028arg,p006arg,s007arg,mz01desc,p028desc,p006desc,s007desc):
listb=[]
a=['MZ01','P028','P006','S007']
if any (x in mz01arg for x in a) is True:
listb[0] = [mz01arg]
else:
listb[0] = []
if any (x in p028arg for x in a ) is True:
listb[1] = [p028arg]
else:
listb[1] =[]
if any (x in p006arg for x in a) is True:
listb[2]=[p006arg]
else:
listb[2] = []
if any (x in s007arg for x in a) is True:
listb[3]=[s007arg]
else:
listb[3]=[]
df1 = pd.DataFrame({'SODA COUNT': listb})
df2 = pd.DataFrame({'SODA RISK DESCRIPTION': [mz01desc,p028desc,p006desc,s007desc]})
writer = pd.ExcelWriter(r"D:\Single_process_python\try_python.xlsx", engine='xlsxwriter')
df3 = pd.concat([df1,df2],axis=1)
df3.to_excel(writer,sheet_name='Sheet1', index=False)
writer.save()
您不能写入尚不存在的元素。 listb=[]
创建一个空列表,因此没有索引为 0 的元素。您可以像这样附加项目:listb.append(foo)
。
但是,既然您提到了 UiPath - 我建议您在工作流程中而不是您的 Python 脚本中检查变量及其值。通过这种方式,您的脚本只做一件事,而且完全是一件事 - 工作流本身确保满足所有先决条件。如果没有,您可以抛出并捕获错误消息,例如在另一个工作流程中,并要求用户输入。如果该逻辑是您脚本的一部分,这将更加困难。
这是一个非常简单的例子: