利用Python读取EXCEL 文件

小编今天从项目需求来给大家介绍读取EXCEL的作用!

        由于项目要进行重新架构和设计开发,项目本身的数据库中的数据需要迁移,但是公司内部的一些新增数据由于项目的某一个模块无法通过执行API接口来处理数据库数据,这个时候,就需要给公司各个部门下发统一格式的EXCEL表格,将近期的数据进行统计。那么,相对大量的EXCEL要向数据库中手动添加,过于耗时。介于方便和时间效率的考虑,利用PYTHON进行读取excel, 并保存到数据库中,这样可以节省大量的时间,同时,也间接的保护了数据库的数据。相对而言,公司的项目比较注重数据的保护,涉密,对数据库的保护很重要,我们要对他的操作十分小心。

下面是一个操作EXCEL,自己实现的代码:

import openpyxl
import time
from flask import Flask

from utils.oa_database import SQLALchemy

class Config
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = 'oracle://用户名:密码@ip地址/数据库名'
    SQLALCHEMY_TRACK_MODIFICATIONS = FALSE

class ProjectManagement(object):
    def __init__(self, path):
        # 初始化app
        self.app = Flask(__name__)
        self.app.config.from_object(Config)
        self.db = SQLALchemy(self.app)
        # 打开EXCEL表格  path 是文件的绝对路径
        self.wb = openpyxl.load_workbook(path)
        # 操作单元格   Sheet1就是第一个单元格,如果不传, 默认第一个
        self.sheet = self.wb.get_sheet_by_name("Sheet1")
        small_list = list()
        new_list = list()
        write_list()
        last = list()
        finish_lish()
        # B4就是某一个cell单元格  获取单元格为B4的值
        self.data = self.sheet["B4"].value
        for i in range(10, self.sheet.max_raw//获取当前表格的最大行(无数据)):
            for j in range(0, 6):
                # 获取10-100行, 0-6列的数据
                data = self.sheet.cell(row=i, column=j).value
        print(data)

        def run(self):
            # 操作数据库实例方法
            pass


if __name__ == '__main__':
    project_management("绝对路径/文件名.xlsx")
    

 

一、用xlrd和xlwt读写excel

    首先下载安装xlrd和xlwt这两个库。

  1、打开excel

    readbook = xlrd.open_workbook(r'\test\canying.xlsx')

  2、获取读入的文件的sheet

    sheet = readbook.sheet_by_index(1)#索引的方式,从0开始
    sheet = readbook.sheet_by_name('sheet2')#名字的方式

  3、获取sheet的最大行数和列数

    nrows = sheet.nrows#行
    ncols = sheet.ncols#列

  4、获取某个单元格的值

    lng = table.cell(i,3).value#获取i行3列的表格值
    lat = table.cell(i,4).value#获取i行4列的表格值

  5、打开将写的表并添加sheet

    writebook = xlwt.Workbook()#打开一个excel
    sheet = writebook.add_sheet('test')#在打开的excel中添加一个sheet

  6、将数据写入excel

     sheet.write(i,0,result[0])#写入excel,i行0列
     sheet.write(i,1,result[1])

  7、保存

     writebook.save('answer.xls')#一定要记得保存

 

  二、使用openpyxl库读写excel

    xlrd和xlwt处理的是xls文件,单个sheet最大行数是65535,如果有更大需要的,建议使用openpyxl函数,最大行数达到1048576。 
    如果数据量超过65535就会遇到:ValueError: row index was 65536, not allowed by .xls format

    1、打开excel

      

    2、获取打开的excel的sheet内容

 

       

    3、获取sheet的最大行数和列数

      

    4、获取某个单元格的值

      print(ws.cell(1,1).value)

    5、打开将写的表并添加sheet

      

    6、保存

      

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值