我在xlsx文件中有带有标头的数据,我使用开吡咯填充电子表格中的列,到目前为止,除了在运行我的代码时被公式所替代的列头之外,其他都是这样的:
import openpyxl
#Opening a Workbook
wb = openpyxl.load_workbook('file.xlsx')
#Working with an specific sheet.
Sheet = wb.get_sheet_by_name('Data')
#Getting the max amount of rows in a given sheet.
row_count = Sheet.max_row
#GEO_CODE home_county
for i, cellObj in enumerate(Sheet['T'], 1):
cellObj.value = '=A{0}'.format(i)
#Total_Count
for i, cellObj in enumerate(Sheet['U'], 1):
cellObj.value = '=SUMIF($A$2:$A${1}, T{0},$D$2:$D${1})'.format(i, row_count)
wb.save('file.xlsx')如果我想在第二行而不是在第一行开始复制公式,我应该对代码做哪些更改?
耽误您时间,实在对不起!
发布于 2018-10-02 16:58:09
问题:我想开始在第二行而不是在第一行复制公式
Sheet['T']返回tuple of Cell对象。
>>> (<Cell Data.T1>, <Cell Data.T2>, <Cell Data.T3>,...)要从第二行开始,跳过第一个Cell对象,更改为:
for i, cellObj in enumerate(Sheet['T'][1:], 2):注意事项:
tuple是基于0的,openpyxl.Worksheet是基于1的!
因此,您必须从索引1分割到末尾执行:[1:],并从第2行开始获得行,执行enumerate(..., 2)。
https://stackoverflow.com/questions/52600935
复制相似问题