我有以下查询,这些查询从JIRA中提取了一些数据并将其保存到csv中。但是,我试图通过一系列项目进行介绍。我看到最新的项目已保存,但并非所有项目都在循环中通过。
下面是我要执行的操作:
projects = ['project_a','project_b']
for project in projects:
issues = jira.search_issues('project= ' + project)
result = []
for value in issues:
value = value
timeSpentSeconds = i.timeSpentSeconds
timeSpent = i.timeSpent
updated = i.updated
started = i.started
author = i.author
dict_ = {'value': value,
'timeSpent': timeSpent,
'updated': updated,
'started': started,
'author': author}
result.append(dict_)
df = pd.DataFrame(result)
df.to_csv('/Desktop/file.csv')
答案 0 :(得分:0)
您将在每个循环df.to_csv('/Desktop/file.csv')
上覆盖数据帧。每次,您都会在文件中写入新项目,然后删除旧项目。
您应该在开始迭代项目之前定义结果。否则,您可以为每个项目创建一个csv文件。
此外,在顶层循环结束时创建和保存数据框会更有效。
答案 1 :(得分:0)
df.to_csv('/Desktop/file.csv', mode='a')
.to_csv的默认模式为write。您必须更改它才能追加。如果您想那样做。
更好的解决方案是制作整个数据框,然后将其保存到所需文件中
projects = ['project_a','project_b']
result = []
for project in projects:
issues = jira.search_issues('project= ' + project, maxResults=False, fields="worklog")
for value in issues:
for i in value.fields.worklog.worklogs:
value = value
timeSpentSeconds = i.timeSpentSeconds
timeSpent = i.timeSpent
updated = i.updated
started = i.started
author = i.author
dict_ = {'value': value,
'timeSpent': timeSpent,
'updated': updated,
'started': started,
'author': author}
result.append(dict_)
df = pd.DataFrame(result)
df.to_csv('/Desktop/file.csv')