日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python 讀取本地excel存入數據庫

系統 2162 0
            
              import pandas as pd
import os
from read_pgdata import Postgredata

root_dir = r'root'
file_names = os.listdir(root_dir)[:-1]
print(len(file_names), file_names)

pg = Postgredata()
for i in range(len(file_names)):
    df = pd.read_excel(root_dir + '\\' + file_names[i], index_col=None, header=None)
    dataset = df.loc[2::].values
    data = []
    for k in dataset:
        k = list(k)
        # print(k)
        data.append(k)
    print(data)
        # print(list(data[j]))
    sql = "INSERT INTO ship_trail (mmsi,longitude,latitude,time,speed,shiphead,heading) VALUES (%s,%s,%s,%s,%s,%s,%s)"
    pg.insertManyRow(strings=data, query=sql) #插入用insertManyRow函數

            
          
            
              import psycopg2
import json
# import pandas as pd

# 從postgresql獲取數據
class Postgredata():
    def __init__(self):
        self.dbname = ""
        self.user = ""
        self.password = ""
        self.host = ""
        self.port = ""

    def getdata(self,query=None):
        try:
            conn=psycopg2.connect(dbname=self.dbname, user=self.user, password=self.password, host=self.host, port=self.port)
            cursor = conn.cursor()
            try:
                cursor.execute(query)
                data=cursor.fetchall()
                if len(data)==0:
                    print('沒有查到數據')
                    return data
                else:
                    return data
            except Exception as e:
                print(e)
                print('查詢錯誤')
        except Exception as e:
            print(e)
            print('連接失敗')
        finally:
            conn.close()

    def setdbname(self, dbname=None):
        self.dbname = dbname

    def getdbname(self):
        return self.dbname

    def getuser(self):
        return self.user

    def setuser(self, user=None):
        self.user = user

    def getpassword(self):
        return self.password

    def setpassword(self, password):
        self.password = password

    def gethost(self):
        return self.host

    def sethost(self, host=None):
        self.host = host

    def getport(self):
        return self.port

    def setport(self, port=None):
        self.port = port

    def savedata(self, query=None):
        #connection.commit()
        #connection.rollback()
        try:
            conn=psycopg2.connect(dbname=self.dbname, user=self.user, password=self.password, host=self.host, port=self.port)
            cursor = conn.cursor()
            try:
                cursor.execute(query)
                conn.commit()
            except Exception as e:
                print(e)
                print('保存失敗')
        except Exception as e:
            print(e)
            print('連接失敗')
        finally:
            conn.close()

    def insertManyRow(self, strings, query=None):
        # 這里就不需要遍歷了,因為executemany接受
        # for index in range(len(rows)):
        try:
            conn = psycopg2.connect(dbname=self.dbname, user=self.user, password=self.password, host=self.host,
                                    port=self.port)
            cur2 = conn.cursor()
            # sql2 = "INSERT INTO test(字段1,字段2,字段3,字段4,字段5) VALUES(%s,%s,%s,%s,%s)"
            cur2.executemany(query, strings)
            conn.commit()
            conn.close()
        except Exception as e:
            print("執行sql時出錯:%s" % (e))
            # conn.rollback()
            conn.close()
            
          

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 剑川县| 定州市| 富锦市| 富平县| 灵宝市| 明光市| 阳春市| 东至县| 阳信县| 当雄县| 缙云县| 东安县| 合川市| 乐平市| 彭水| 乐昌市| 丹阳市| 旬邑县| 乐山市| 彭阳县| 远安县| 新晃| 黑山县| 松滋市| 阜平县| 融水| 恩平市| 合山市| 宁津县| 池州市| 彭阳县| 南康市| 新源县| 蒙城县| 建湖县| 南岸区| 澜沧| 平谷区| 冀州市| 永善县| 马公市|