pandasを使用してExcelファイルにデータを書き込みを考えています。
Excelファイルの書き込む際、シート別に書き込む想定です。
汚いコードですが現状こうなっております。
COLUMNS = ['a', 'b', 'c', 'd'] df = pd.DataFrame(columns=COLUMNS) for v1 in data: for v2 in v1['values']: tmp_se = pd.Series([v2['fields']['key'], v2['name'], v2['fields']['fields1'], v2['fields']['fields2'], index=df.columns) df = df.append(tmp_se, ignore_index=True) with pd.ExcelWriter('test.xlsx') as writer: df.to_excel(writer, index=False, sheet_name='sheet'+str(v1['name']), encoding='utf-8')
これだと、一番最後のforで回したデータのみExcelに書き込まれます。
forで強引に回していて、1回分回したものを1シートを書き込みたいです。
書き込むデータ(変数data)はさほど多くはないことを想定していますが、
多くなった場合のことを考えると、for入れ子にして記載すると遅くなってしまうので、できれば違う書き方にしたいと考えています。
質問内容不足していましたら申し訳ないのですが、ご教授のほどよろしくお願い致します。
サンプルデータを載せれますか?
```
{
'expand': 'schemanames',
'startAt': 0,
'maxResults': 100,
'total': 150,
'issues': [{
'expand': 'operations,versionedRepresentations,editmeta,changelog,renderedFields',
'id': '111111',
'self': 'https://sample.jp//api/2/project/111111',
'key': '911',
'fields': {
'parent': {
'id': '54321',
'key': '11',
'self': 'https://sample.jp//api/2/project/11112'
}
}
}],
'issues': [{
'expand': 'operations,versionedRepresentations,editmeta,changelog,renderedFields',
'id': '222222',
'self': 'https://sample.jp//api/2/project/222222',
'key': '912',
'fields': {
'parent': {
'id': '54320',
'key': '11',
'self': 'https://sample.jp//api/2/project/11142'
}
}
}]
}
```
こんなかんじです!
実際はissuesのネストがもう少しあるかんじです。
回答1件
あなたの回答
tips
プレビュー