首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用公式填充列而不擦除标头

使用公式填充列而不擦除标头
EN

Stack Overflow用户
提问于 2018-10-02 01:34:40
回答 1查看 221关注 0票数 1

我在xlsx文件中有带有标头的数据,我使用开吡咯填充电子表格中的列,到目前为止,除了在运行我的代码时被公式所替代的列头之外,其他都是这样的:

代码语言:javascript
复制
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')

如果我想在第二行而不是在第一行开始复制公式,我应该对代码做哪些更改?

耽误您时间,实在对不起!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-02 16:58:09

问题:我想开始在第二行而不是在第一行复制公式

Sheet['T']返回tuple of Cell对象。

代码语言:javascript
复制
>>> (<Cell Data.T1>, <Cell Data.T2>, <Cell Data.T3>,...)

要从第二行开始,跳过第一个Cell对象,更改为:

代码语言:javascript
复制
for i, cellObj in enumerate(Sheet['T'][1:], 2):

注意事项tuple是基于0的openpyxl.Worksheet是基于1的

因此,您必须从索引1分割到末尾执行:[1:],并从第2行开始获得行,执行enumerate(..., 2)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52600935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档