zoukankan      html  css  js  c++  java
  • excel导入数据与数据库对接操作

    1.接口excel

    class csv_input:
    
        """导入文件需要写入文件名
        sheet_digit为输入框参数
    
        """
        def __init__(self, csv_name, sheet_digit=1):
            self.data = xlrd.open_workbook('%s' % csv_name + ".xlsx")
            self.sheet_digit = sheet_digit
            self.write_csv()
            # print("self.data", self.data)
            # content_list = self.write_csv()
    
        def write_csv(self):
    
            for k in range(1):  # 这range(self.sheet_digit)
                table = self.data.sheets()[k]
                rows = table.nrows
                for i in range(int(rows)):
                    if i == 0 or i == 1:
                        continue
                    else:
                        content = table.row_values(i)
                        d = 0
                        for i in content:
                            if type(i) != str:
                                content[d] = str(i)
                            d += 1
                        sqlit_handle().edit_add(content, k)
            sqlit_handle().conn.close()

    2. sqlite数据库写入excel、导出excel数据 

    重点:(1)注意pycharm中的database可视化管理,必须是DDL的数据库才可以与代码联合使用

       (2) 建议以sql原生语句的形式去代码创建表跟数据库

       (3) sqlite3 只支持? 和:啥 这2个占位符格式,一般使用? 作为占位符,  "?",a 这种形式中间以逗号间隔

       (4) sql语句不建议拼装

    class sqlit_handle:
        """
        数据库操作
        """
        def __init__(self):
            self.conn = sqlite3.connect('record_price.db')
            self.cursor = self.conn.cursor()
            print("1111")
    
        def edit_add(self, content, k):
            if k == 0:
                self.cursor.execute('insert into DC_Adaptors values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )',(content[0], content[1], content[2],
                                                                       content[3], content[4], content[5],
                                                                       content[6], content[7], content[8],
                                                                       content[9], content[10], content[11],
                                                                       content[12], content[13], content[14]))
                self.conn.commit()
            else:
                self.cursor.execute('insert into DC_Cables values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
                                    (content[0], content[1], content[2],
                                     content[3], content[4], content[5],
                                     content[6], content[7], content[8],
                                     content[9], content[10], content[11],
                                     content[12], content[13]))
                self.conn.commit()
    
        def edit_out_DC(self):
            data_out1 = self.cursor.execute("select * from DC_Adaptors").fetchall()  # 列表里面套元组的形式
            data_out2 = self.cursor.execute("select * from DC_Cables").fetchall()
            return data_out1, data_out2
  • 相关阅读:
    查看硬件的一些命令
    InfluxDB部署和使用
    利用mysql时间函数监控表中有没有当天数据
    js基础_for循环(学习笔记)
    JS基础_运算符的优先级
    JS基础_相等运算符
    Apache安装与卸载(win10系统测试)
    MySQL --添加环境变量教程
    MySQL安装教程及遇到的错误提示
    如何完全卸载MySQL
  • 原文地址:https://www.cnblogs.com/cjj-zyj/p/10062419.html
Copyright © 2011-2022 走看看