利用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、保存

      

转载自:https://blog.csdn.net/Bad_Lee/article/details/82466136

You may also like...