【问题标题】:Assign name to excel sheet from variable in list从列表中的变量为 Excel 工作表分配名称
【发布时间】:2022-01-20 20:48:54
【问题描述】:

我有保存在 python 列表中的帐户名称,比如说“帐户 a”、“帐户 b”、“帐户 c”等等。此列表已保存在 Pandas 数据框中。

我想为每个帐户创建一个 Excel 文件,但我希望该文件具有它所代表的帐户的名称。

我最初的想法是创建一个for循环并使用xlsxwriter,像这样......

    with pd.ExcelWriter(workbook, engine = 'xlsxwriter') as writer: 
        account_list = ['account a', 'account b', 'account c']



for account in account_list: 

        workbook = xlsxwriter.Workbook([account_list])
        worksheet = workbook.add_worksheet([account_list])

        account_list.to_excel(writer, sheet_name = f'[worksheet]')

你可能会猜到我收到了一个错误,说“预期的字符串或类似字节的对象”。

对如何进行这项工作有任何想法吗?

【问题讨论】:

  • 从我在您的代码中看到的情况来看,您正在尝试将名为 account_list 中的帐户的单个工作表添加到 excel 文件中,而不是创建单独的文件。您想做什么,文件中的工作表还是单独的文件?
  • 我想两者都做。具有帐户名称的文件,该文件中的工作表也是帐户名称。

标签: python excel for-loop


【解决方案1】:

使用for循环中选择的变量:

import xlsxwriter

account_list = ['account a', 'account b', 'account c']

for account in account_list:

    workbook = xlsxwriter.Workbook( account + '.xlsx')  # the file name is given by account
    worksheet = workbook.add_worksheet(account) # if 'account' ommited, the sheet is named as 'sheet1'

    worksheet.write('A1', account)

    workbook.close()

【讨论】:

    猜你喜欢
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    相关资源
    最近更新 更多