網站首頁 編程語言 正文
一、將數據寫入opengauss
前提準備:
成功opengauss數據庫,并創建用戶jack,創建數據庫datasets。
數據準備:
所用數據以csv格式存在本地,編碼格式為GB2312。
數據存入:
開始hello表未存在,那么執行程序后,系統會自動創建一個hello表(這里指定了名字為hello);
若hello表已經存在,那么會增加數據到hello表。列名需要與hello表一一對應。
# 加載必要的python庫
from sqlalchemy import create_engine
import pandas as pd
?
# 從本地讀入數據
df = pd.read_csv("E:/jiema.csv",low_memory=False,encoding='gb2312')
?
#創建數據庫引擎
#create_engine說明:driver://user:password@host:port/dbname
engine = create_engine('postgresql://jack:gauss@111@192.168.80.130:26000/datasets')
?
#寫入數據
try:
? ? df.to_sql('hello',engine,index=False,if_exists='append') ?#hello為創建的數據庫表名字
except Exception as e:
? ? print(e)
使用navicat查看效果:
二、python條件查詢opengauss數據庫中文列名的數據
問題:
由于項目要求,數據庫中的列名都是以中文命名的,導致在后期查詢的時候出現了很多問題。
解決方法:
?整條SQL語句需要用單引號包裹,中文列名需要用雙引號包裹起來。
import psycopg2
?
def dataFromDB(sql):
? ? # 連接數據庫
? ? conn = psycopg2.connect(database='datasets', user='jack', password='gauss@111', host='192.168.80.130', port='26000')
? ? curs = conn.cursor()
?
? ? # 編寫Sql,只取前兩行數據
? ? # sql = 'select * from table_name limit 2'
?
? ? # 數據庫中執行sql命令
? ? curs.execute(sql)
? ? # 獲得數據
? ? data = curs.fetchall()
? ? print(data)
?
? ? # 關閉指針和數據庫
? ? curs.close()
? ? conn.close()
?
sql ='SELECT "遙測參數2", "遙測參數2路溫度" from source2decode where "工程參數.源地址" =26 '
?
dataFromDB(sql)
原文鏈接:https://blog.csdn.net/qq_38029916
相關推薦
- 2022-07-03 C#?Winform中DataGridView導出為Excel的實現示例_C#教程
- 2022-12-06 Android?Doze模式下Alarm定時任務實現流程詳解_Android
- 2023-04-14 拯救強迫癥Android?Builder模式_Android
- 2022-03-16 .Net?6簡介并和之前版本寫法做對比_基礎應用
- 2022-05-24 C++中的Qt?QTableView詳解_C 語言
- 2022-08-26 pandas中聚合函數agg的具體用法_python
- 2023-03-22 GoLang?string類型深入分析_Golang
- 2023-01-02 Android?數據結構全面總結分析_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支