openpyxl读取一个sheet所有列数据除了用cols属性,也可以用iter_cols()方法,返回值是生成器,该方法也可以指定读取行和列,和iter_rows不同的是他按照列来输出数据。
# -*- coding: utf-8 -*-
from openpyxl import load_workbook
wb = load_workbook('test.xlsx',data_only=True)
for sheet in wb:
sheet_name = sheet.title
# 生成器
data_all = sheet.iter_cols() # 默认是全部数据
print('sheet名:',sheet_name)
print(data_all)
for col in data_all:
for cell in col:
value = cell.value
print(value)
sheet名: 上海
静安豪景苑
新泾苑
兆嘉苑
天山怡景苑
金星绿苑
申晖小区
共康四村
崧泽华城青湖苑
新昌里公寓
建国西路158弄
蔷薇七村
sh-5i5j/xiaoqu/79364-html
sh-5i5j/xiaoqu/138741-html
sh-5i5j/xiaoqu/367631-html
sh-5i5j/xiaoqu/385850-html
sh-5i5j/xiaoqu/390212-html
sh-5i5j/xiaoqu/436536-html
sh-5i5j/xiaoqu/197400-html
sh-5i5j/xiaoqu/377290-html
sh-5i5j/xiaoqu/47394-html
sh-5i5j/xiaoqu/125420-html
sh-5i5j/xiaoqu/388767-html
sheet名: 杭州
复兴城市家园
木材新村
万寿亭街
瓶窑镇凤溪路
孝子坊
永和坊
教工路131号
星星港湾琴海居
文二路98号
龙悦湾
意盛花苑
hz-5i5j/xiaoqu/100000000001038-html
hz-5i5j/xiaoqu/100000000004309-html
hz-5i5j/xiaoqu/100000000002688-html
hz-5i5j/xiaoqu/100000000000367-html
hz-5i5j/xiaoqu/100000000002902-html
hz-5i5j/xiaoqu/100000000002147-html
hz-5i5j/xiaoqu/100000000001423-html
hz-5i5j/xiaoqu/100000000005718-html
hz-5i5j/xiaoqu/100000000001269-html
hz-5i5j/xiaoqu/100000000006161-html
hz-5i5j/xiaoqu/100000000002797-html
Process finished with exit code 0
也可以指定行列来读取数据。
# -*- coding: utf-8 -*-
from openpyxl import load_workbook
wb = load_workbook('test.xlsx',data_only=True)
for sheet in wb:
sheet_name = sheet.title
# 生成器
data_all = sheet.iter_cols(min_col=1,max_col=2,min_row=1,max_row=2)
print('sheet名:',sheet_name)
for col in data_all:
for cell in col:
value = cell.value
print(value)
sheet名: 上海
静安豪景苑
新泾苑
sh-5i5j/xiaoqu/79364-html
sh-5i5j/xiaoqu/138741-html
sheet名: 杭州
复兴城市家园
木材新村
hz-5i5j/xiaoqu/100000000001038-html
hz-5i5j/xiaoqu/100000000004309-html