Когда я делаю сокол API, мой Excel поврежден - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь создать веб-API для сохранения CSV в файл шаблона Excel. Я сделал функцию, которая прекрасно работает, когда я ее выполняю. Но как только я вызываю это из функции (def on_get (self, req, resp):) файл поврежден. Какие изменения я могу сделать, чтобы предотвратить повреждение файла?

Код сервера:

class Test:
def on_get(self, req, resp):
    ct.save_df_into_excel(df_template, file_location, list_of_code_columns, new_location)
    """Handles GET requests"""
    response = {
        'status': 'success'
    }
    resp.media = response

функция:

def save_df_into_excel(df_template, file_location, list_of_code_columns, new_location = None):
if new_location == None:
    new_location = file_location
if df_template.columns.nlevels > 1:
    df_template.columns = df_template.columns.droplevel()

df_new_template = df_template.reindex(columns=list_of_code_columns)
workbook = openpyxl.load_workbook(file_location)
writer = pd.ExcelWriter(file_location, engine='openpyxl')
writer.book = workbook
writer.sheets = dict((ws.title, ws) for ws in workbook.worksheets)
worksheet = workbook.active
df_new_template.to_excel(writer, sheet_name=worksheet.title,
                     header=None, startrow=2, index=False)
writer.book.save(new_location)
...