Как я могу встроить Python кодов в Excel (Xlwings) и как каждый может его использовать? - PullRequest
0 голосов
/ 03 августа 2020
• 1000 строка в диапазоне date_range, указанном на другом листе.

Мой лист ввода pi c.: введите описание изображения здесь

Мой лист вывода pi c .: введите здесь описание изображения

import pandas as pd
import xlwings as xw

def world():

import os
script_dir = os.path.dirname(__file__)  
rel_path = "database.xlsm"
file_path = os.path.join(script_dir, rel_path)

wb = xw.Book(file_path)

wb.save()

ws = wb.sheets["Sheet1"]
ws2 = wb.sheets["Sheet2"]

df = pd.read_excel(file_path)
area=df["B"].loc[0]
country=df["B"].loc[1]
city=df["B"].loc[2]
firstdate=df["B"].loc[3]
lastdate=df["B"].loc[4]

daterange=pd.date_range(firstdate,lastdate)
a = ws2.range('A' + str(ws2.cells.last_cell.row)).end('up').row + 1

for i in daterange:
    ws2.cells(a,1).value=area.upper()
    ws2.cells(a,2).value=country.upper()
    ws2.cells(a,3).value=city.upper()
    ws2.cells(a,4).value=i
    a+=1

wb.sheets['Sheet2'].autofit()

С кодом, который я написал с помощью pandas, я могу запустить программу на моем собственном компьютере. Когда я нажимаю кнопку «RUN» в файле Excel , он заполняет 'Sheet2' так, как я хочу (показано выше Output pi c.).

Мои вопросы: как я могу встроить этот код, который я написал с помощью pandas, в Excel? И как мне преобразовать его в формат, который может использовать каждый (включая другие компьютеры без pandas или xlwings)?

Заранее спасибо.

1 Ответ

0 голосов
/ 03 августа 2020

Не знаю, можно ли делать то, что хочешь. Я знаю, что LibreOffice Cal c может вызывать сценарии python, но я не знаю об их ограничениях или о том, как вы можете импортировать pandas.

Я предлагаю вам воссоздать свой код с помощью VBA, учитывая, что ваш код простой.

...