利用Python读取EXCEL 文件




        介于方便和时间效率的考虑,利用PYTHON进行读取excel, 并保存到数据库中,这样可以节省大量的时间,同时,也间接的保护了数据库的数据。相对而言,公司的项目比较注重数据的保护,涉密,对数据库的保护很重要,我们要对他的操作十分小心。

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


 
 
  1. import openpyxl
  2. import time
  3. from flask import Flask
  4. from utils.oa_database import SQLALchemy
  5. class Config
  6. DEBUG = True
  7. SQLALCHEMY_DATABASE_URI = ' oracle://用户名:密码@ip地址/数据库名 '
  8. SQLALCHEMY_TRACK_MODIFICATIONS = FALSE
  9. class ProjectManagement(object):
  10. def __init__(self, path):
  11. # 初始化app
  12. self.app = Flask(__name__)
  13. self.app.config.from_object(Config)
  14. self.db = SQLALchemy(self.app)
  15. # 打开EXCEL表格 path 是文件的绝对路径
  16. self.wb = openpyxl.load_workbook(path)
  17. # 操作单元格 Sheet1就是第一个单元格,如果不传, 默认第一个
  18. self.sheet = self.wb.get_sheet_by_name("Sheet1")
  19. small_list = list()
  20. new_list = list()
  21. write_list()
  22. last = list()
  23. finish_lish()
  24. # B4就是某一个cell单元格 获取单元格为B4的值
  25. self.data = self.sheet["B4"].value
  26. for i in range(10, self.sheet.max_raw//获取当前表格的最大行(无数据)):
  27. for j in range(0, 6):
  28. # 获取10-100行, 0-6列的数据
  29. data = self.sheet.cell(row=i, column=j).value
  30. print(data)
  31. def run(self):
  32. # 操作数据库实例方法
  33. pass
  34. if __name__ == '__main__ ':
  35. project_management("绝对路径/文件名.xlsx")

 

一、用xlrd和xlwt读写excel

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

  1、打开excel

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

  2、获取读入的文件的sheet


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

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


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

  4、获取某个单元格的值


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

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


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

  6、将数据写入excel


 
 
  1.      sheet .write( i,0, result [0])#写入 exceli行0列
  2.      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、保存

      



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值