【发布时间】:2021-08-01 07:27:40
【问题描述】:
我已尝试使用 Pandas 成功填充 QTableWidget 中的数据。 现在我想将特定的行和列导出到现有的 excel,这样我就不会丢失这个 excel 中的样式表和其他数据。请帮助我找到正确运行它的解决方案。
目标是使用 OpenPyxl 导出到 excel 到特定的行和列,行范围从 7 到 30,列从 1 到 13,以仅修改现有 excel 的值。我知道“追加”意味着在excel底部添加整个数据表,我不知道用什么函数代替。
def kalkuacje_exportuj(self):
columnHeaders = []
# create column header list
for j in range(self.ui.tableWidget.model().columnCount()):
columnHeaders.append(self.ui.tableWidget.horizontalHeaderItem(j).text())
df = pd.DataFrame(columns=columnHeaders)
# create dataframe object recordset
for row in range(self.ui.tableWidget.rowCount()):
for col in range(self.ui.tableWidget.columnCount()):
df.at[row, columnHeaders[col]] = self.ui.tableWidget.item(row, col).text()
from openpyxl import Workbook
wb = Workbook()
wb = load_workbook ('OFERTA_SZABLON.xlsx')
# ws1 = wb.sheetnames()
ws1 = wb["DETALE wyceniane osobno"]
# for row in ws1.iter_rows(min_row=7,
# max_row=30,
# min_col=1,
# max_col=13):
for row in range(7, 30):
for col in range(1, 13):
for r in dataframe_to_rows(df, index=False, header=False):
ws1.append(r)
# for cell in row:
# print(cell)
wb.save('OFERTA_SZABLON.xlsx')
【问题讨论】:
-
有人知道这个问题的答案吗?我当时正在寻找答案,但我不能再进一步了:(
标签: python excel pandas openpyxl qtablewidget