gpt4 book ai didi

python - 遍历工作表、行、列

转载 作者:太空狗 更新时间:2023-10-29 21:25:34 25 4
gpt4 key购买 nike

我想使用 openpyxl 在 python 中打印特定列的所有数据(所有行)我正在以这种方式工作;

from openpyxl import load_workbook
workbook = load_workbook('----------/dataset.xlsx')
sheet = workbook.active
for i in sheet:
print(sheet.cell(row=i, column=2).value)

但是它给出了

if row < 1 or column < 1: TypeError: unorderable types: tuple() < int()

因为我在 row=i 中迭代。如果我使用 sheet.cell(row=4, column=2).value 它会打印单元格的值。但是我如何遍历所有文档呢?

编辑 1

在一些研究中,发现可以使用工作表名称获取数据。 Sheet 1 存在于 .xlsx 文件中,但其数据未打印。这段代码有什么问题吗?

workbook = load_workbook('---------------/dataset.xlsx')
print(workbook.get_sheet_names())
worksheet =workbook.get_sheet_by_name('Sheet1')
c=2
for i in worksheet:
d = worksheet.cell(row=c, column=2)
if(d.value is None):
return
else:
print(d.value)
c=c+1

最佳答案

阅读OpenPyXL Documentation

遍历 workbook 中的所有 worksheets,例如:

for n, sheet in enumerate(wb.worksheets):
print('Sheet Index:[{}], Title:{}'.format(n, sheet.title))

Output:

Sheet Index:[0], Title: Sheet    
Sheet Index:[1], Title: Sheet1
Sheet Index:[2], Title: Sheet2

迭代一个工作表中的所有:

worksheet = workbook.get_sheet_by_name('Sheet')

for row_cells in worksheet.iter_rows():
for cell in row_cells:
print('%s: cell.value=%s' % (cell, cell.value) )

输出:

<Cell Sheet.A1>: cell.value=²234
<Cell Sheet.B1>: cell.value=12.5
<Cell Sheet.C1>: cell.value=C1
<Cell Sheet.D1>: cell.value=D1
<Cell Sheet.A2>: cell.value=1234
<Cell Sheet.B2>: cell.value=8.2
<Cell Sheet.C2>: cell.value=C2
<Cell Sheet.D2>: cell.value=D2

遍历一个 的所有,例如row==2:

for row_cells in worksheet.iter_rows(min_row=2, max_row=2):
for cell in row_cells:
print('%s: cell.value=%s' % (cell, cell.value) )

输出:

<Cell Sheet.A2>: cell.value=1234  
<Cell Sheet.B2>: cell.value=8.2
<Cell Sheet.C2>: cell.value=C2
<Cell Sheet.D2>: cell.value=D2

迭代所有 ,仅 2:

for col_cells in worksheet.iter_cols(min_col=2, max_col=2):
for cell in col_cells:
print('%s: cell.value=%s' % (cell, cell.value))

输出:

<Cell Sheet.B1>: cell.value=12.5
<Cell Sheet.B2>: cell.value=8.2
<Cell Sheet.B3>: cell.value=9.8
<Cell Sheet.B4>: cell.value=10.1
<Cell Sheet.B5>: cell.value=7.7

使用 Python:3.4.2 - openpyxl:2.4.1 - LibreOffice: 4.3.3.2 测试

关于python - 遍历工作表、行、列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42974450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com