我是openpyxl的新手,遇到了一些问题
我正在遍历列表,为每个项目添加标题和一些数据。 我的问题是,对于每一项我要处理的项目,我都想在右侧添加“相同”数据,而不是像.append方法那样自上而下。
不知道这是否有意义。
一个例子
for agreement in agreements:
n1 = wb.active
n1.append([
make_cell(n1, agreement.name, bold=True),
])
n1.append([
'Account Number',
'Account Name',
'Total DKK',
])
for ....
n1.append(....)
对于每个协议,我想在右侧添加“相同”数据,而不是上下颠倒。
该怎么做?
我想要什么..
headline headline headline
Account Number Account Name Total DKK Account Number Account Name Total DKK Account Number Account Name Total DKK
答案 0 :(得分:1)
问题:...在右侧添加“相同”数据,而不是像
.append
方法那样自上而下
您仍然必须使用ws.append(...)
。
首先,您需要一个Workbook
实例:
from openpyxl import Workbook
wb = Workbook()
请勿在{{1}}循环中使用
n1 = wb.active
。
您只需一次即可获得活动的工作表。for ...
for agreement in agreements:
n1 = wb.active
您要在右侧每行添加 x 标头,因此不能使用
ws = wb.active
。.append(...)
在 n1.append(['Account Number', 'Account Name', 'Total DKK',])
行列值之前,必须创建具有期望值的列表。
例如:
.append(...)
输出:
HEADER = ['Account Number', 'Account Name','Total DKK'] listOfColumnValues = [] # Extend listOfColumnValues with HEADER as many times you need for _ in range(3): listOfColumnValues.extend(HEADER) print("{}".format(listOfColumnValues)) ws.append(listOfColumnValues)
使用Python:3.4.2测试-openpyxl:2.4.1-LibreOffice:4.3.3.2