Yub*_*sal 3 python excel pandas
我有一个数据框。我需要将同一组数据保存在同一个 Excel 文件的不同工作表中
我有以下数据集
District Prefix Quota
A 98426 783
A 98427 223
A 98446 127
A 98626 51
B 98049 167
B 98079 153
B 98140 120
B 98159 139
B 98169 182
B 98249 86
B 98426 588
B 98446 96
C 98049 104
C 98060 68
C 98149 65
C 98150 68
C 98159 86
C 98160 80
C 98169 113
Run Code Online (Sandbox Code Playgroud)
重现代码:
import pandas as pd
df = pd.DataFrame([
['A', 98426, 783],
['A', 98427, 223],
['A', 98446, 127],
['A', 98626, 51],
['B', 98049, 167],
['B', 98079, 153],
['B', 98140, 120],
['B', 98159, 139],
['B', 98169, 182],
['B', 98249, 86],
['B', 98426, 588],
['B', 98446, 96],
['C', 98049, 104],
['C', 98060, 68],
['C', 98149, 65],
['C', 98150, 68],
['C', 98159, 86],
['C', 98160, 80],
['C', 98169, 113]
],
columns=['District', 'Prefix', 'Quota'])
Run Code Online (Sandbox Code Playgroud)
所以你可以在“District”列中看到A、B和C数据。现在我必须创建一个名为“District_Data”的 Excel 文件,并将 A 的数据保存在名为“A”的单独工作表中,将 B 保存在名为“B”的单独工作表中,依此类推。但所有工作表都应位于“District_Data”excel 文件中
您可以按地区对数据进行分组。
如果只有一个索引列:
data = df.groupby('District')
writer = pd.ExcelWriter('District_data.xlsx', engine='xlsxwriter')
for row,group in data:
group.to_excel(writer, sheet_name=row)
writer.save()
Run Code Online (Sandbox Code Playgroud)
对于多索引场景,将 for 循环替换为:
for row, group in data.groupby(level=0):
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5845 次 |
| 最近记录: |