Есть ли способ запустить Excel от python? - PullRequest
0 голосов
/ 28 апреля 2020

Я написал скрипт, который создает книгу Excel, и я хотел бы, чтобы эта книга открывалась автоматически после запуска моего скрипта. есть ли способ написать это в python?

Вот фрагмент моего кода для справки:

import pandas as pd
import xlsxwriter

   k = df.loc[df['UniqueID'] == search]
    k = k.drop(['MobileNo_Avl_Flag', 'PRI.CURRENT.BALANCE', 'State_ID', 'DisbursalDate', 'Employment.Weight','asset_cost', 'disbursed_amount'], axis= 1)
    writer = pd.ExcelWriter("dashboard.xlsx", engine='xlsxwriter')
    k.to_excel(writer, sheet_name='Sheet1')

    workbook = writer.book
    worksheet = writer.sheets['Sheet1']
    worksheet.insert_image('A3', 'open-book-clipart-blue-11.jpg')
    worksheet.set_column('A:S', 20)
    worksheet.write(0, 0, "Dashboard for the customer id you searched", )
    chart = workbook.add_chart({'type': 'pie'})
    chart.add_series({'values': '=Sheet1!$E$2:$F$2'})
    header_format = workbook.add_format({
        'bold': True,
        'text_wrap': True,
        'valign': 'top',
        'fg_color': '#B3DEFD',
        'border': 1})
    for col_num, value in enumerate(k.columns.values):
        worksheet.write(0, col_num + 1, value, header_format)
    worksheet.insert_chart('J4', chart)
    writer.save()

Любая помощь приветствуется!

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

os.startfile ( file ) запустит файл, как если бы дважды щелкнуть в Windows Explorer.

import os
os.startfile('dashboard.xlsx')

Возможно, вам понадобится writer.close() перед запуском файла.

1 голос
/ 28 апреля 2020

Вы можете запустить Excel (или другую программу), используя subprocess

import subprocess
subprocess.run(["C:/path/to/Excel.exe", "C:/path/to/workbook.xlsx"])

Обратите внимание, что этот код может не переноситься в другие среды, поскольку он зависит от пути установки Excel.

...