如何使用Python在Excel中的某些行之后追加一行
我是Python新手。现在只玩如何使用Python在Excel中的某些行之后追加一行,python,excel,openpyxl,Python,Excel,Openpyxl,我是Python新手。现在只玩openpyxl。 我想用Python编写一个电子表格,但是单元格的格式和样式很复杂,不一定每次都正确 所以我想制作一个模板excel文件,并且总是从文件中读取数据并将其保存为新文件。为此,我必须避免覆盖某些行。目前,我使用该代码在Excel中追加行,因为我不知道要追加的行的大小 有什么方法可以像第7行那样附加某些行中的行吗 我的代码是: def Output(message): wb = Workbook() ws = wb.active
openpyxl
。
我想用Python编写一个电子表格,但是单元格的格式和样式很复杂,不一定每次都正确
所以我想制作一个模板excel文件,并且总是从文件中读取数据并将其保存为新文件。为此,我必须避免覆盖某些行。目前,我使用该代码在Excel中追加行,因为我不知道要追加的行的大小
有什么方法可以像第7行那样附加某些行中的行吗
我的代码是:
def Output(message):
wb = Workbook()
ws = wb.active
ws.title = 'Quotation'
Row_size = len(message)
for i in range (Row_size):
message_line = message[i]
ws.append(message_line)
wb.save('Quatation.xlsx')
使用
ws.cell()
函数指定所需的行和列,而不是使用ws.append()
enumerate()
可用于为传递列表中的每个条目提供从7
开始的行号
from openpyxl import Workbook
def Output(message):
wb = Workbook()
ws = wb.active
ws.title = 'Quotation'
for row, text in enumerate(message, start=7):
ws.cell(column=1, row=row, value=text)
wb.save('Quotation.xlsx')
Output(['hello', 'world'])
给你:
注意,如果每行传递多个单元格,则需要第二个循环,如下所示:
from openpyxl import Workbook
def Output(message):
wb = Workbook()
ws = wb.active
ws.title = 'Quotation'
Row_size = len(message)
for row, row_entries in enumerate(message, start=7):
for column, value in enumerate(row_entries, start=1):
ws.cell(column=column, row=row, value=value)
wb.save('Quotation.xlsx')
Output([['hello', 'world'], ['this', 'is', 'another', 'line']])
如果你有比写模板更好的主意,也请帮助我。谢谢