gpt4 book ai didi

python - 创建动态工作表变量

转载 作者:行者123 更新时间:2023-12-04 22:01:57 24 4
gpt4 key购买 nike

我有一个包含以下数据的列表:

month = [ "Jan", "Feb", "Mar", "Apr" ]

每个月的数据都存储在 JSON 中,例如:
[{"Master" : [
{
"month" : "Jan",
"Expense" : "50",
"Income" : "100",
"Emp" : "1"
},
{
"month" : "Jan",
"Expense" : "500",
"Income" : "1000",
"Emp" : "2"
},
{
"month" : "Feb",
"Expense" : "50",
"Income" : "100",
"Emp" : "1"
},
{
"month" : "Feb",
"Expense" : "500",
"Income" : "1000",
"Emp" : "2"
},
{
"month" : "Mar",
"Expense" : "50",
"Income" : "100",
"Emp" : "2"
},
{
"month" : "Apr",
"Expense" : "50",
"Income" : "100",
"Emp" : "1"
}
]
}]

取决于 month 的值,我需要使用 for loop 将每个月数据的所有内容写入名为“Jan”、“Feb”、“Mar”、“Apr”等的单独工作表中, 就像是:
for i in range(len(month)):
worksheet[i] = workbook.add_worksheet(month[i])

列表中的内容 month可能会发生变化,因此需要动态变量分配。

这可能吗?

最佳答案

以下应该做你正在寻找的东西。您可以配置需要哪些列和月份:

import xlsxwriter
import itertools

data = [{"Master" : [
{
"month" : "Jan",
"Expense" : "50",
"Income" : "100",
"Emp" : "1"
},
{
"month" : "Jan",
"Expense" : "500",
"Income" : "1000",
"Emp" : "2"
},
{
"month" : "Feb",
"Expense" : "50",
"Income" : "100",
"Emp" : "1"
},
{
"month" : "Feb",
"Expense" : "500",
"Income" : "1000",
"Emp" : "2"
},
{
"month" : "Mar",
"Expense" : "50",
"Income" : "100",
"Emp" : "2"
},
{
"month" : "Apr",
"Expense" : "50",
"Income" : "100",
"Emp" : "1"
}
]
}]


workbook = xlsxwriter.Workbook('output.xlsx')

# List of required months
months = [ "Jan", "Feb", "Apr" ]

# List of required columns and required order
columns = ['month', 'Expense', 'Income', 'Emp']

for workbook_month in months:
for data_month, g in itertools.groupby(data[0]['Master'], key=lambda x: x['month']):
if workbook_month == data_month:
worksheet = workbook.add_worksheet(workbook_month)
worksheet.write_row(0, 0, columns)

for row, entry in enumerate(g, start=1):
worksheet.write_row(row, 0, [entry[col] for col in columns])

workbook.close()

给你以下输出,这里我错过了 Mar数据:

enter image description here

关于python - 创建动态工作表变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32985677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com