【问题标题】:Automatic create tables自动创建表
【发布时间】:2021-09-30 00:27:59
【问题描述】:

我正在尝试自动化此处找到的代码

https://xlsxwriter.readthedocs.io/example_pandas_table.html

但是当我尝试它时,它会返回一个具有正确文件名的空文件

def as_table(xlsx_name, sheet_1_name, df_name): #string, string, dataframe variable
    writer = pd.ExcelWriter("output/{}.xlsx".format(xlsx_name), engine ='xlsxwriter')
    df_name.to_excel(writer, sheet_name = "{}".format(sheet_1_name), startrow=1, header=False, index=False)
    workbook = writer.book
    worksheet = writer.sheets["{}".format(sheet_1_name)]
    (max_row, max_col) = df_name.shape
    column_settings = [{'header': column} for column in df_name.columns]
    worksheet.add_table(0, 0, max_row, max_col - 1, {'columns': column_settings})
    worksheet.set_column(0, max_col - 1, 12)
    writer.save

【问题讨论】:

  • writer.save()带括号吗?

标签: python-3.x pandas jupyter-notebook


【解决方案1】:

使用来自https://xlsxwriter.readthedocs.io/example_pandas_table.html 的示例数据框和代码完整代码为...

import pandas as pd

def as_table(xlsx_name, sheet_1_name, df_name): #string, string, dataframe variable
    writer = pd.ExcelWriter("{}.xlsx".format(xlsx_name), engine ='xlsxwriter')
    df_name.to_excel(writer, sheet_name = "{}".format(sheet_1_name), startrow=1, header=False, index=False)
    workbook = writer.book
    worksheet = writer.sheets["{}".format(sheet_1_name)]
    (max_row, max_col) = df_name.shape
    column_settings = [{'header': column} for column in df_name.columns]
    worksheet.add_table(0, 0, max_row, max_col - 1, {'columns': column_settings})
    worksheet.set_column(0, max_col - 1, 12)
    writer.save()
    
df = pd.DataFrame({
    'Country':    ['China',    'India',    'United States', 'Indonesia'],
    'Population': [1404338840, 1366938189, 330267887,       269603400],
    'Rank':       [1,          2,          3,               4]})

as_table('file_name', 'sheet_name', df)

...我看不到错误。 请注意我将函数的最后一行从writer.save 更改为 writer.save()

输出:

【讨论】:

    猜你喜欢
    • 2021-09-12
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 2014-02-05
    • 2016-07-08
    • 2020-05-03
    • 2018-11-19
    • 1970-01-01
    相关资源
    最近更新 更多