python

当前位置:首页 > openpyxl教程 > 当前文章

openpyxl教程

openpyxl读取excel不输出公式data_only=True属性

2020-04-18 73赞 python中国网
每篇文章努力于解决一个问题!python高级、python面试全套、操作系统经典课等可移步文章底部。

  之前几篇文章在读取excel的时候都加了参数data_only=True,data_only=True的作用主要是防止excel中有公式。

  有公式(vlookup公式)又不加该参数读取一个excel看看。 

# -*- coding: utf-8 -*-

from openpyxl import load_workbook

wb = load_workbook('test.xlsx')

for sheet in wb:
    sheet_name = sheet.title
    # 生成器
    data_all = sheet.iter_cols()
    print('sheet名:',sheet_name)
    for col in data_all:
        for cell in col:
            print(cell.value)


sheet名: 杭州1
复兴城市家园
木材新村
万寿亭街
瓶窑镇凤溪路
=VLOOKUP(A1,杭州!A:B,2,0)
=VLOOKUP(A2,杭州!A:B,2,0)
=VLOOKUP(A3,杭州!A:B,2,0)
=VLOOKUP(A4,杭州!A:B,2,0)
sheet名: 杭州
复兴城市家园
木材新村
万寿亭街
瓶窑镇凤溪路
hz-5i5j/xiaoqu/100000000001038-html
hz-5i5j/xiaoqu/100000000004309-html
hz-5i5j/xiaoqu/100000000002688-html
hz-5i5j/xiaoqu/100000000000367-html



  加上data_only=True以后就可以避免输出公式的情况了。

# -*- 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)
    for col in data_all:
        for cell in col:
            print(cell.value)


sheet名: 杭州1
复兴城市家园
木材新村
万寿亭街
瓶窑镇凤溪路
hz-5i5j/xiaoqu/100000000001038-html
hz-5i5j/xiaoqu/100000000004309-html
hz-5i5j/xiaoqu/100000000002688-html
hz-5i5j/xiaoqu/100000000000367-html
sheet名: 杭州
复兴城市家园
木材新村
万寿亭街
瓶窑镇凤溪路
hz-5i5j/xiaoqu/100000000001038-html
hz-5i5j/xiaoqu/100000000004309-html
hz-5i5j/xiaoqu/100000000002688-html
hz-5i5j/xiaoqu/100000000000367-html



文章评论

openpyxl读取excel不输出公式data_only=True属性文章写得不错,值得赞赏