使用Python读写Excel表格(初步)

这篇博客介绍了如何使用Python的openpyxl库进行Excel文件的读写操作。作者分享了安装openpyxl的简单方法,并提到该教程尚不完整,未来会进一步完善。
摘要由CSDN通过智能技术生成

前言

       安装方式 : pip install openpyxl

       上班的时候摸鱼写的...先拿出来分享一下。目前还不完善,哪天有空完善一下...

# -*- coding: utf-8 -*-
#安装方式 : pip install openpyxl
import xlrd
import xlwt
from datetime import date, datetime
'''
    row_index    : 行
    column_index : 列
    data         : 数据
'''
def create_file(row_index, column_index, data):
    workbook = xlwt.Workbook(encoding='ascii')
    #创建一个名叫Sheet2的表
    sheet = workbook.add_sheet('Sheet1')
    # row_index是行数,column_index是列数,data是要写入的数据
    sheet.write(row_index, column_index, data)
    workbook.save('C:/Users/Administrator/Desktop/test/data.xlsx')
'''
    读取文件
    fileName : 文件路径和文件名
    flag     : 是否打印 (这样调用更灵活)
    return   : 防止代码重复
'''
def read_excel(fileName,flag):
    # 打开文件
    workbook = xlrd.open_workbook(fileName)
    #获取所有sheet表格,例如表格名为Sheet1
    sheet_names = workbook.sheet_names()
    #获取其中一个表格
    sheet1 = workbook.sheet_by_name("Sheet1")
    sheet_names = workbook.sheet_names()
    dataSet = []
    for row_index in range(0, sheet1.nrows):
        dataSet.append(sheet1.row_values(row_index))
    #如果用户需要遍历就遍历出来
    if flag == True:
        for i in range(0,dataSet.__len__()):
            print(dataSet[i],"\n")
    return dataSet
'''
    获取指定的数据
    colum    : 指定列  (用于查找)
    data     : 用来对比
    col      : 指定列  (用于显示)
    flag     : 是否全列打印(如果是False 就不存在col这个参数)
    flagPlus : 判断到底要不要显示(防止代码重复)
    return: 返回数量
'''
def specify(colum,col,data,flag,flagPlus):
    #统计数量
    count = 0
    #获得数据
    arr = []
    dataSet = read_excel(fileName,False)
    #索引遍历
    for i in range(0,dataSet.__len__()):
        str = dataSet[i][colum]
        if str == data:
            arr.append(dataSet[i])
    if flagPlus == True:
        #只显示指定列的内容
        if flag == True:
            for i in range(0, arr.__len__()):
                print(arr[i][col], "\n")
                count = count + 1
        #显示整列的内容
        else:
            for i in range(0, arr.__len__()):
                print(arr[i], "\n")
                count = count + 1
    #只统计数量
    else:
        for i in range(0, arr.__len__()):
            count = count + 1
    return count
#文件路径
fileName = r"C:/Users/Administrator/Desktop/test/test.xlsx"
flag = True
while flag == True:
    print("|=============================|")
    print("|        Excel 表格工具       |")
    print("|        1 创建并写数据       |")
    print("|        2 遍历表格数据       |")
    print("|        3 查看指定内容       |")
    print("|        4 查看指定列所有内容  |")
    print("|        5 查看指定内容的数量  |")
    print("|        0 退出程序           |")
    print("|=============================|")
    c = int(input("请选择 : "))
    if c == 0:
        flag = False
    elif c == 1:
        while True:
            print("输入@0退出输入")
            row = int(input("请输入行: "))
            col = int(input("请输入列: "))
            data = input("请输入数据: ")
            if data == "@0":
                break;
            re = create_file(row - 1,col - 1,data)
    elif c == 2:
        re = read_excel(fileName, True)
    elif c == 3:
        colum = int(input("请输入指定列: "))
        col = int(input("请输入显示的那一列: "))
        str = input("请输入查找的内容: ")
        specify(colum - 1,col - 1,str,True,True)
    elif c == 4:
        colum = int(input("请输入指定列: "))
        str = input("请输入查找的内容: ")
        specify(colum - 1,0,str,False,True)
    elif c == 5:
        colum = int(input("请输入指定列: "))
        str = input("请输入查找的内容: ")
        count = specify(colum - 1,0,str,False,False)
        print(str,"在表格中的数量是 : ",count)
    else:
        print("输入有误!")
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值