Единственный способ, с помощью которого я смог работать с моим кодом, был немного взломан, я сделал следующее:
TS
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { ModalModule, WavesModule, InputsModule } from 'angular-bootstrap-md'
@Component({
selector: 'app-roommain',
templateUrl: './roommain.component.html',
styleUrls: ['./roommain.component.scss']
})
export class RoommainComponent implements OnInit {
@ViewChild ('form') public formModal: any;
constructor(private modal : ModalModule) { }
ngOnInit() {}
ngAfterViewInit() {
this.formModal.show();
}
}
По мне пробел viewChild как " любой "позволяет мне скомпилировать код с любыми ошибками, и, позвонив мне this.formModal.show();
в ngAfterViewInit()
, я могу иметь все компоненты с загруженной страницы, поэтому я могу называть их конкретные методы в этом случае .show()
import pandas as pd;
df_excel = pd.read_excel(".\Table1.xlsx"); #Import existing excel template
df_excel.index = df_excel.index + 2 #As we have 2 empty rows in pandas pivot \
#table, we need to start filling on excel row 2 (df_excel.index + 2)
received = pvt_all.received; #reading received column in pivot table
df_excel["received"] = received; #Copying received column from Pandas to received \
#column in excel
sent = pvt_all.sent; #reading sent column in pivot table
df_excel["sent"] = sent; #Copying sent column from Pandas to sent \
#column in excel
to_send = pvt_all.to_send; #reading to_send column in pivot table
df_excel["to_send"] = to_send; #Copying to_send column from Pandas to to_send \
#column in excel
df_excel.to_excel(".\MyNewExcel.xlsx",index=False); #Writing new excel file to \
#avoid mistakes on original excel template.
Простой способ: после того, как у вас есть pvt_all
, просто дайте ему имя файла Excel:
pvt_all.to_excel("filename.xlsx")
См. https://pandas.pydata.org/pandas-docs/stable/ сгенерированный / pandas.DataFrame.to_excel.html для других параметров.
Более сложный путь: у вас уже есть Excel и вы хотите записать этот кадр данных в виде нового листа, сделайте так:
import pandas as pd
import openpyxl
excelfilename = "filename.xlsx"
with pd.ExcelWriter(excelfilename, engine="openpyxl") as writer:
# above: I use openpyxl, you can change this
writer.book = openpyxl.load_workbook(excelfilename)
pvt_all.to_excel(writer, "pivot sheet name", index=False)
# above: index=False to not write dataframe index
Еще сложнее: вы хотите записать в определенный диапазон ячеек, один ячейка за раз:
import openpyxl
from openpyxl.utils import get_column_letter
wb = openpyxl.load_workbook(excelfilename)
ws = wb["my sheet"]
row = 3
col = 1
data = pvt_all.values
max_row, max_col = data.shape
for r in range(max_row):
for c in range(max_col):
ws[get_column_letter(col+c)+str(row+r)] = data[r][c]
# don't forget to save your workbook after this