+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如果我使用openpyxl有行号,该如何迭代excel工作表的特定行?

发布于2021-04-12 14:50     阅读(871)     评论(0)     点赞(10)     收藏(2)


0

1

2

3

4

5

6

7

8

9

我是编程新手,目前正在学习python和openpyxl进行excel文件操作。我正在编写一个脚本来帮助更新维修数据库,该数据库在Excel工作表中选择特定的记录。我已经编写了一个脚本,可以在其中获取需要更新的excel数据的行号,但是现在面临的挑战是如何通过迭代在行列表(记录)中创建列表。

例如,我发现我需要来自第22、23、34和35行的数据。是否有一种无需更改行的每个实例的min_row和max_row数即可获取这些行的数据的方法?

我需要重写的代码部分是:

# copy the record on the rows of the row numbers found above.
rows_records = []
row_record = []
for row_cells in ws2.iter_rows(min_row=23, max_row=23, min_col=1, max_col = 6):
    for cell in row_cells:
        row_record.append(cell.value)
        rows_records.append(row_record)
print(row_record)
print(rows_records)

在此处输入图片说明


解决方案


由于openpyxl返回一个生成器,因此您必须将其转换为列表才能访问特定的索引

    import openpyxl

    workbook = openpyxl.load_workbook('numbers.xlsx')
    worksheet = workbook .active
    rows = list(worksheet.iter_rows(max_col=6, values_only=True))
    values = []
    row_indices = [21, 22, 23, 34, 35]
    for row_index in row_indices:
        values.append(rows[row_index])

0

1

2

3

4

5

6

7

8

9



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接: https://www.pythonheidong.com/blog/article/936025/8f1307d9bd5b9281d413/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

10 0
收藏该文
已收藏

评论内容:(最多支持255个字符)