国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python:用Pandas讀CSV文件寫到MySQL

Jonathan Shieber / 2937人閱讀

摘要:匯總一下,自己最近在使用讀寫存數據庫中遇到的各種問題。假如我有一個含有中文的文件本人小明一年級小張三年級打印處理以后亂碼了。解決這個問題時候也是被坑了一把,網上說什么的都有。過程就不說了,看代碼解決了

匯總一下,自己最近在使用Python讀寫CSV存數據庫中遇到的各種問題。
上代碼:

reload(sys)
sys.setdefaultencoding("utf-8")
host = "127.0.0.1"
port = 3306
db = "world"
user = "root"
password = "123456"

con = MySQLdb.connect(host=host,charset="utf8",port=port,db=db,user=user,passwd=password)
try:
    df = pd.read_sql(sql=r"select * from city", con=con)
    df.to_sql("test",con=con,flavor="mysql")
except Exception as e:
    print(e.message)

不出意外的話會打印出一句:database flavor MySQL is not supported
在stackoverflow上找到了答案:The flavor ‘mysql’ is deprecated in pandas version 0.19.

我們換一種方式:

reload(sys)
sys.setdefaultencoding("utf-8")
host = "127.0.0.1"
port = 3306
db = "world"
user = "root"
password = "123456"

engine = create_engine(str(r"mysql+mysqldb://%s:" + "%s" + "@%s/%s") % (user, password, host, db))

try:
    df = pd.read_sql(sql=r"select * from city", con=engine)
    df.to_sql("test",con=engine,if_exists="append",index=False)
except Exception as e:
    print(e.message)

運行下,ok,可以存入了index參數表示是否把DataFrame的index當成一列來存儲,一般來說是不需要的,所以賦值為False

現在看似問題都解決了,但是還有一個小問題。
假如我有一個含有中文的csv文件(本人Window):
name age class
小明 15 一年級
小張 18 三年級

engine = create_engine(str(r"mysql+mysqldb://%s:" + "%s" + "@%s/%s") % (user, password, host, db))

try:
    df = pd.read_csv(r"C:UsersxxDesktopdata.csv")
    print(df)
    df.to_sql("test", con=engine, if_exists="append", index=False)
except Exception as e:
    print(e.message)

打印處理以后亂碼了。我們在讀csv時候最好指定編碼,我的本地GBK:

df = pd.read_csv(r"C:UsersxxDesktopdata.csv",encoding="gbk")

我們可以正常的打印信息了,但是又報錯了,錯誤如下:

UnicodeEncodeError: "latin-1" codec can"t encode characters in position 0-1: ordinal not in range(256)

還是編碼問題,原因呢,我們存到數據庫時候沒有指定編碼。解決這個問題時候也是被坑了一把,網上說什么的都有。過程就不說了,看代碼:

engine = create_engine(str(r"mysql+mysqldb://%s:" + "%s" + "@%s/%s?charset=utf8") % (user, password, host, db))

解決了

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38509.html

相關文章

  • pandas使

    摘要:寫這篇文章主要是想按照一定的邏輯順總結一下自己做項目以來序用到過的的知識點雖然官方文檔上各個方面都寫的很清楚但是還是想自己再寫一份一個是想作為個人梳理另外也可以把最經常使用的部分拎出來更清晰一些不定時更新數據的讀數據其中是需要的語句是創建的 寫這篇文章,主要是想按照一定的邏輯順總結一下自己做項目以來,序用到過的pandas的知識點.雖然pandas官方文檔上各個方面都寫的很清楚,但是還...

    int64 評論0 收藏0
  • Python之使Pandas庫實現MySQL數據庫的

    摘要:本次分享將介紹如何在中使用庫實現數據庫的讀寫。提供了工具包及對象關系映射工具,使用許可證發行。模塊實現了與不同數據庫的連接,而模塊則使得能夠操作數據庫。 ??本次分享將介紹如何在Python中使用Pandas庫實現MySQL數據庫的讀寫。首先我們需要了解點ORM方面的知識。 ORM技術 ??對象關系映射技術,即ORM(Object-Relational Mapping)技術,指的是把關...

    darcrand 評論0 收藏0
  • Pandas技巧大全:含具體代碼實現

    摘要:查看數據的基本統計信息。用處是用于數據讀寫處理更改提取等一系列操作的包,可以說,所有能實現的功能,都可以通過代碼輕松實現,因此,對于學習非常重要。如果在里,需要翻到最低和最右,而且可能由于溢出無法窮盡可以簡單的實現。 放在前面的話? ? ????? ? ? ?? ????????這學期刻意少...

    netmou 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<