尝试写一个 excel sheet

Try to write an excel sheet

我正在尝试将这些 cookie 销售额写入 excel sheet,但出现 "invalid syntax" 错误。关于如何正确执行此操作的任何想法?这是我的代码:

import xlsxwriter

workbook = xlsxwriter.Workbook('hello2.xlsx')
worksheet = workbook.add_worksheet()

cookie_sales = {
['Name': 'Sue', 'Feeny', 'Jimmy', 'Seymour'. 'Shawn', 'Corey', 'Anne', 'Terry', 'Derek', 'Sammy', 'Topanga', 'Alan', 'Mark', 'Joe', 'Elliot' ],
['Age':  23, 99, 23, 11, 31, 55, 35, 44, 71, 41, 39, 22, 16, 25, 32 ],
['Boxes_Sold':  5234, 5000, 4566, 3344, 3123, 534, 335, 654, 7773, 990, 11, 46, 742, 222, 9],
['Flavor': 'Chocolate', 'Cookie Dough', 'Cookie Dough', 'Mint', 'Vanilla', 'Chocolate', 'Vanilla', 'Strawberry', 'Strawberry', 'Vanilla', 'Mint', 'Strawberry', 'Chocolate', 'Chocolate' 'Mint' ],
}

row = 0
col = 0

for name, age, boxes_sold, flavor in (cookie_sales):
worksheet.write(row, col,     name)
worksheet.write(row, col + 1, age)
worksheet.write(row, col + 2, boxes_sold)
worksheet.write(row, col + 3, flavor)
row += 1


workbook.close()

Dictionary 对象的结构需要如下 {key:value,key:value} 但你拥有的是 {key:value,value,value...}

该值可以是列表或其他数据结构,例如 {key : (value1,value2,value3)}

可以使用语法 cookie_sales['name'][i]

访问

您可能还需要重构循环。

不太确定您是真的要在这里找字典还是列表。 将其全部更改为列表,这应该会产生您要查找的结果:

import xlsxwriter

workbook = xlsxwriter.Workbook('hello2.xlsx')
worksheet = workbook.add_worksheet()

cookie_sales = [
['Name', 'Sue', 'Feeny', 'Jimmy', 'Seymour', 'Shawn', 'Corey', 'Anne', 'Terry', 'Derek', 'Sammy', 'Topanga', 'Alan', 'Mark', 'Joe', 'Elliot' ],
['Age', 23, 99, 23, 11, 31, 55, 35, 44, 71, 41, 39, 22, 16, 25, 32],
['Boxes_Sold', 5234, 5000, 4566, 3344, 3123, 534, 335, 654, 7773, 990, 11, 46, 742, 222, 9],
['Flavor', 'Chocolate', 'Cookie Dough', 'Cookie Dough', 'Mint', 'Vanilla', 'Chocolate', 'Vanilla', 'Strawberry', 'Strawberry', 'Vanilla', 'Mint', 'Strawberry', 'Chocolate', 'Chocolate', 'Mint' ]]

row = 0
col = 0

for name in cookie_sales[0]:
    worksheet.write(row, col, name)
    worksheet.write(row, col + 1, cookie_sales[1][row])
    worksheet.write(row, col + 2, cookie_sales[2][row])
    worksheet.write(row, col + 3, cookie_sales[3][row])
    row += 1


workbook.close()

如果您对字典感兴趣,可以使用字典来完成,这也可以,使用您当前的结构:

import xlsxwriter

workbook = xlsxwriter.Workbook('hello1.xlsx')
worksheet = workbook.add_worksheet()

cookie_sales = {
'Name' : ['Sue', 'Feeny', 'Jimmy', 'Seymour', 'Shawn', 'Corey', 'Anne', 'Terry', 'Derek', 'Sammy', 'Topanga', 'Alan', 'Mark', 'Joe', 'Elliot' ],
'Age' : [23, 99, 23, 11, 31, 55, 35, 44, 71, 41, 39, 22, 16, 25, 32],
'Boxes_Sold' : [5234, 5000, 4566, 3344, 3123, 534, 335, 654, 7773, 990, 11, 46, 742, 222, 9],
'Flavor' : ['Chocolate', 'Cookie Dough', 'Cookie Dough', 'Mint', 'Vanilla', 'Chocolate', 'Vanilla', 'Strawberry', 'Strawberry', 'Vanilla', 'Mint', 'Strawberry', 'Chocolate', 'Chocolate', 'Mint' ]}

row = 0
col = 0

for key in cookie_sales.keys():
    worksheet.write(0, col, key) # Writes Heading
    row = 1
    for item in cookie_sales[key]: # Writes Heading contents
        worksheet.write(row, col, item)
        row += 1
    col += 1

workbook.close()