对不起我的英语不好。我需要打开一个 xlsx 文档并在最后一个位置写入新值。但我不明白该怎么做。我的算法是这样工作的:
- 打开 xlsx
l_workbook = load_workbook(old_log_tmp_path)
从那里获得所有价值
代码:
def iter_rows(ws): for row in ws.iter_rows(): yield [cell for cell in row]
创建新的 xlsm 文件
代码:
workbook = xlsxwriter.Workbook(tf.name) worksheet = workbook.add_worksheet()
将所有值复制
l_workbook
到workbook -> worksheet
但我认为这是不对的,我认为它们以一种简单的方式存在。像这样:
l_workbook = load_workbook('EX2cRqM7xi1D.xlsx')
sheet = l_workbook.get_sheet_names()[0]
worksheet = l_workbook.get_sheet_by_name(sheet)
worksheet.write(1, 1, "TEST")
运行该脚本给了我以下错误:
AttributeError: 'Worksheet' object has no attribute 'write'
我的问题是:如何打开 xlsm 文件并向其中添加新值(使用 openpyxl)?
升级版:
我试试这个代码,但不工作
import openpyxl
workbook = openpyxl.load_workbook('tmp3by148hj.xlsx')
ws = workbook.worksheets[0]
ws.cell(row=1, column=1).value = 'TEST'