我创建了一个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