我创建了一个xls文件,在其中将一些用户输入写入单元格。到目前为止,该程序可以正常运行;它写第一行。但是,当我再次运行该程序时,它没有在第一个程序的顶部附加行。我试图了解如何使它向excel工作表中添加新行,并保存并关闭等

import xlsxwriter

workbook = xlsxwriter.Workbook("test.xlsx",)
worksheet = workbook.add_worksheet()

row = 0
col = 0

worksheet.write(row, col,     'odhgos')
worksheet.write(row, col + 1, 'e/p')
worksheet.write(row, col + 2, 'dromologio')
worksheet.write(row, col + 3, 'ora')


row += 1
worksheet.write_string(row, col,     odigosou)
worksheet.write_string(row, col + 1, dromou)
worksheet.write_string(row, col + 2, dromologio)
worksheet.write_string(row, col + 3, ora)

workbook.close()

使用我创建的这段代码,我可以写入文件,但是如何在现有工作表中添加一行。我看过的所有教程,研究过的所有说明,都行不通;我显然做错了,但我无法发现它。

最佳答案



例如,使用openpyxl的解决方案:

from openpyxl import load_workbook

new_row_data = [
    ['odhgos', 'e/p', 'dromologio', 'ora'],
    ['odigosou', 'dromou', 'dromologio', 'ora']]

wb = load_workbook("test/test.xlsx")
# Select First Worksheet
ws = wb.worksheets[0]

# Append 2 new Rows - Columns A - D
for row_data in new_row_data:
    # Append Row Values
    ws.append(row_data)

wb.save("test/test.xlsx")

用Python测试:3.4.2-openpyxl:2.4.1-LibreOffice:4.3.3.2

10-06 05:53