Python对Excel文件进行读取

import xlrd


def xl_read():
    """Excel读取"""
    book = xlrd.open_workbook('producct.xls')  # 打开一个Excel文件,获取到句柄
    for sheet in book.sheets():  # book.sheets()是获取所有的工作簿标签
        print(sheet.name)   # sheet.name是工作簿的名称,名称不能有多余的符号


def xl_read_data():
    """数据读取"""
    book = xlrd.open_workbook('producct.xls')  # 打开一个Excel文件,获取到句柄
    sheet = book.sheet_by_name('Porduct')  # 根据name找到工作簿
    print('工作簿:', sheet.name)       # 查看标签名称
    print('数据行:', sheet.nrows)      # 查看有多少行数据
    print('产品数据' + '=' * 50)
    for i in range(sheet.nrows):       # 遍历行数
        print(sheet.row_values(i))  # 获取索引指定的数据行

对于Excel文件的各种操作,还有其他更专业的第三方库,一般办公自动化、数据分析经常会用到,之后有时间整理


案例:

检测手机号

import xlrd
import csv


def Deduplication():  # 去重
    with open(r'C:\Users\Administrator\Desktop\实号.txt') as f:
        a = f.read()
    b = a.split('\n')
    c = set(b)
    print(c)
    d = '\n'.join(c)
    print(d)
    with open(r'C:\Users\Administrator\Desktop\去重后.txt', 'w') as f:
        f.write(d)


def xl_read_data():
    with open('phone.txt', encoding='utf-8') as f:
        phones = f.readlines()

    """数据读取"""
    book = xlrd.open_workbook('50.xlsx')  # 打开一个Excel文件,获取到句柄
    sheet = book.sheet_by_name('Sheet1')  # 根据name找到工作簿
    print('工作簿:', sheet.name)       # 查看标签名称
    print('数据行:', sheet.nrows)      # 查看有多少行数据

    headers = sheet.row_values(0)
    rows = []
    for i in range(sheet.nrows):       # 遍历行数
        # print(sheet.row_values(i))  # 获取索引指定的数据行

        # if i != 0:
        #     print(sheet.row_values(i))
        #     rows.append(sheet.row_values(i))

        phone = sheet.row_values(i)[4]    # 手机号
        # if str(phone).split('.')[0] + '\n' not in phones and i != 0:  # 判断手机号是否在实号文本里
        if str(phone).split('.')[0] + '\n' in phones:  # 判断手机号是否在实号文本里
            print(sheet.row_values(i))
            rows.append(sheet.row_values(i))

    # 写出csv文件
    with open('phone.csv', 'w', newline='') as f:
        writer = csv.writer(f)    # 构造写入器
        writer.writerow(headers)  # 写入表头
        writer.writerows(rows)    # 写入内容


if __name__ == '__main__':
    xl_read_data()
    # quChongFu()
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值