介于方便和时间效率的考虑,利用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、保存