Python-循环不同的值并将其传递到变量中

Python-循环不同的值并将其传递到变量中,python,Python,我有一个Python脚本,可以从JIRA中提取所有字段。我在JIRA中有多个项目,每个项目中的列集是不同的。因此,我有下面的脚本,工作得很好 ## Login to Jira jira = JIRA(basic_auth=('login@login.com', 'password'), options={'server': 'https://company.atlassian.net'}) # Pulling Proj_A tickets issues = jira.search_issue

我有一个Python脚本,可以从JIRA中提取所有字段。我在JIRA中有多个项目,每个项目中的列集是不同的。因此,我有下面的脚本,工作得很好

## Login to Jira
jira = JIRA(basic_auth=('login@login.com', 'password'), options={'server': 'https://company.atlassian.net'})

# Pulling Proj_A tickets

issues = jira.search_issues('project= Proj_A',maxResults=False) ## Get Proj_A tickets

## Create the full df by normalizing the output
issue_list = []
for i in range(len(issues)):
    result = json_normalize(issues[i].raw['fields'])
    result['issue_id'] = issues[i]
    result['issue_link'] = 'https://company.atlassian.net/browse/' + str(issues[i])
    issue_list.append(result)
final_issue_df_a = pd.concat(issue_list, axis=0, sort=True).reset_index()

# Pulling Proj_B tickets

issues = jira.search_issues('project= Proj_B',maxResults=False) ## Get Proj_B tickets

## Create the full df by normalizing the output
issue_list = []
for i in range(len(issues)):
    result = json_normalize(issues[i].raw['fields'])
    result['issue_id'] = issues[i]
    result['issue_link'] = 'https://company.atlassian.net/browse/' + str(issues[i])
    issue_list.append(result)
final_issue_df_b = pd.concat(issue_list, axis=0, sort=True).reset_index()

# Concatenating fields from the 2 projects into one single dataframe
Final_DF = pd.concat([final_issue_df_a,final_issue_df_b], axis=0, ignore_index=True)
上面的代码工作得很好。现在,我正在尝试优化脚本,其中我正在尝试传递一个包含所有项目列表的循环,如下所示:

project = [Proj_A,Proj_B,Proj_C..]
这将传递到第一行

(issues = jira.search_issues('project=',maxResults=False)) 
并迭代每个项目,并提取存储在最终数据帧中的相关字段


有人能帮忙吗。谢谢

您可以这样做:

projects = ['Proj_A', 'Proj_B', 'Proj_C']
final_df_list = []

for project in projects:
    issues = jira.search_issues('project= '+project, maxResults=False)
    # Rest of the code processing the issues obtained above
    final_issue_df_x = pd.concat(issue_list, axis=0, sort=True).reset_index()
    final_df_list.append(final_issue_df_x)

Final_DF = pd.concat(final_df_list, axis=0, ignore_index=True)        

你可以这样做:

projects = ['Proj_A', 'Proj_B', 'Proj_C']
final_df_list = []

for project in projects:
    issues = jira.search_issues('project= '+project, maxResults=False)
    # Rest of the code processing the issues obtained above
    final_issue_df_x = pd.concat(issue_list, axis=0, sort=True).reset_index()
    final_df_list.append(final_issue_df_x)

Final_DF = pd.concat(final_df_list, axis=0, ignore_index=True)        

使用项目api获取JIRA中的项目列表。然后从返回的每个项目中提取项目名称

r = requests.get('https://<jira>/rest/api/2/project', auth=('username', 'password'), verify=False)

projects = r.json()

#Get name of each project 
for i in projects:
    print i['name']
r=requests.get('https:///rest/api/2/project,auth=('username','password'),verify=False)
projects=r.json()
#获取每个项目的名称
对于项目中的i:
打印i['name']

使用项目api获取JIRA中的项目列表。然后从返回的每个项目中提取项目名称

r = requests.get('https://<jira>/rest/api/2/project', auth=('username', 'password'), verify=False)

projects = r.json()

#Get name of each project 
for i in projects:
    print i['name']
r=requests.get('https:///rest/api/2/project,auth=('username','password'),verify=False)
projects=r.json()
#获取每个项目的名称
对于项目中的i:
打印i['name']

问题出在哪里……我不明白这个问题。@Rakesh,我正在尝试重建上面的代码,其中我有一个包含所有项目名称的列表(比如说project)。然后从该列表中传递值,而不是分别为每个项目编写相同的代码。希望这能有所帮助。问题是什么……我不明白这个问题。@Rakesh,我正在尝试重建上面的代码,其中我有一个包含所有项目名称的列表(我们称之为project)。然后从该列表中传递值,而不是分别为每个项目编写相同的代码。希望这有帮助。