使用 openpyxl 写入行?
Writing to row using openpyxl?
我正在尝试使用 openpyxl 将列表写入 Python 中的一行,但无济于事。
该列表包含例如十个值。我需要打开一个现有的工作表,并将这十个值沿着一行写入它们自己的单元格。
我需要使用 openpyxl,因为与只能创建新工作表的 xlsxwriter 相比,它具有覆盖现有工作表的功能。
看看 here,向下滚动到标题 将值写入单元格。
TLDR:
>>> import openpyxl
>>> wb = openpyxl.Workbook()
>>> sheet = wb['Sheet']
>>> sheet['A1'] = 'Hello world!'
>>> sheet['A1'].value
'Hello world!
或者如果您愿意
sheet.cell(row=2, column=3).value = 'hello world'
更新:根据@charlieclark 评论更改为 wb['Sheet'] 语法,thx
更新:将 mylist 写入第 2 行
for col, val in enumerate(mylist, start=1):
sheet.cell(row=2, column=col).value = val
我给你做了一个功能。我把它放在我电脑上的“openpyxlutils”文件中。
它允许您输入起始行字母或数字(但字母不能像 AA 或 BB)。
def write_row(write_sheet, row_num: int, starting_column: str or int, write_values: list):
if isinstance(starting_column, str):
starting_column = ord(starting_column.lower()) - 96
for i, value in enumerate(write_values):
write_sheet.cell(row_num, starting_column + i, value)
我正在尝试使用 openpyxl 将列表写入 Python 中的一行,但无济于事。
该列表包含例如十个值。我需要打开一个现有的工作表,并将这十个值沿着一行写入它们自己的单元格。
我需要使用 openpyxl,因为与只能创建新工作表的 xlsxwriter 相比,它具有覆盖现有工作表的功能。
看看 here,向下滚动到标题 将值写入单元格。
TLDR:
>>> import openpyxl
>>> wb = openpyxl.Workbook()
>>> sheet = wb['Sheet']
>>> sheet['A1'] = 'Hello world!'
>>> sheet['A1'].value
'Hello world!
或者如果您愿意
sheet.cell(row=2, column=3).value = 'hello world'
更新:根据@charlieclark 评论更改为 wb['Sheet'] 语法,thx
更新:将 mylist 写入第 2 行
for col, val in enumerate(mylist, start=1):
sheet.cell(row=2, column=col).value = val
我给你做了一个功能。我把它放在我电脑上的“openpyxlutils”文件中。 它允许您输入起始行字母或数字(但字母不能像 AA 或 BB)。
def write_row(write_sheet, row_num: int, starting_column: str or int, write_values: list):
if isinstance(starting_column, str):
starting_column = ord(starting_column.lower()) - 96
for i, value in enumerate(write_values):
write_sheet.cell(row_num, starting_column + i, value)