Python 在 MySQL 中讀取 寫入資料

2021-08-03 12:52:23 字數 1321 閱讀 4354

import pandas as pd  

from sqlalchemy import create_engine

import pymysql

#準備乙個示例資料

df = ts.get_hist_data('000875')#讀取資料,格式為dataframe

#建立乙個engine

engine = create_engine('mysql://username:password@localhost:3306/databasename?charset=utf8') #databasename是連線的資料庫名字,必須事先建立。 字元編碼設定為utf8,否則有些latin字元不能處理

換一種寫法,利用 dataframe 例項的 to_sql 方法:

engine = create_engine('mysql://root:1234@localhost:3306/stock?charset=utf8') 

try:#存入資料庫,有時候執行一次報錯,執行第二次就沒問題了,這裡使用try函式。報錯的時候,其實在資料庫中建立了表頭,只是還沒寫入資料。

except exception:

#建立engine

engine = create_engine('mysql://root:1234@localhost:3306/stock?charset=utf8')

#從資料庫讀取資料

df1 = pd.read_sql('tick_data',engine)#從資料庫中讀取表存為dataframe

通過查詢方式讀取資料:

#連線資料庫的引數

config =

#連線資料庫

db = pymysql.connect(**config)

#建立游標

cursor = db.cursor()

## 執行sql,並返**影響行數

cursor.execute('select * from city')

result = cursor.fetchall()

type(result) #list 查詢結果是乙個list,而pd.read_sql 讀入了乙個dataframe;

df3 = pd.dataframe(result) #將查詢結果轉為乙個dataframe。

db.commit() #提交更改

cursor.close() #關閉游標

db.close() #關閉資料庫

在python中逐行讀取大檔案

在我們日常工作中,難免會有處理日誌檔案的時候,當檔案小的時候,基本不用當心什麼,直接用file.read 或readlines 就可以了,但是如果是將乙個10g大小的日誌檔案讀取,即檔案大於記憶體的大小,這麼處理就有問題了,會將整個檔案載入到記憶體中從而造成memoryerror 也就是發生記憶體溢...

python如何讀取 python 中讀取yaml

yaml 是專門用來寫配置檔案的語言,非常簡潔和強大,遠比 json 格式方便。yaml在python語言中有pyyaml安裝包。yaml 語言 發音 j m l 的設計目標,就是方便人類讀寫。它實質上是一種通用的資料序列化格式。它的基本語法規則如下 1 大小寫敏感 2 使用縮排表示層級關係 3 縮...

python 讀取mysql資料

import pymysql import pandas as pd defload data from mysql conn pymysql.connect host 127.0.0.1 port 3306 user test password test db database charset u...