国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

pandas處理csv文件實例 python怎么和MySQL鏈接?

python怎么和MySQL鏈接?python如何連接mysql?目前有三種基本方法,分別是pymysql、sqlalchemy和pandas。下面我分別簡單介紹一下,有興趣的朋友可以試試:這是pyt

python怎么和MySQL鏈接?

python如何連接mysql?目前有三種基本方法,分別是pymysql、sqlalchemy和pandas。下面我分別簡單介紹一下,有興趣的朋友可以試試:

這是python操作mysql最基本最基礎(chǔ)的第三方包。相信很多朋友都接觸過,它封裝了mysql的基本操作,包括添加、刪除、修改、查詢。只需要幾行代碼就可以輕松讀寫mysql,簡單易學(xué)。如果你安裝了它,你可以直接輸入命令 "安裝pymysql "在cmd窗口中:

安裝完成后,我們就可以直接操作mysql了,如下:先創(chuàng)建一個連接,然后獲取一個游標(biāo),最后直接執(zhí)行sql語句。這里應(yīng)該注意的是,唐 不要忘記在添加、刪除和修改之后提交更新數(shù)據(jù)庫,否則數(shù)據(jù)將不會被更新:

02.sqlalchemy這是一個基于對象關(guān)系映射模型ORM開發(fā)的開源數(shù)據(jù)庫框架。python類與數(shù)據(jù)表關(guān)聯(lián),底層繁瑣的數(shù)據(jù)庫操作被拋棄。通過編寫一組代碼,很容易在主流數(shù)據(jù)庫之間來回切換。如果你安裝它,只需輸入命令 "安裝sqlalchemy "在cmd窗口中,程序會自動檢測相關(guān)的依賴項并安裝它:

安裝完成后,我們可以直接啟動數(shù)據(jù)庫操作,如下:先創(chuàng)建數(shù)據(jù)庫連接,再定義對象類(對應(yīng)具體數(shù)據(jù)表),最后直接添加、刪除、更改查詢。需要注意的是,更新操作也需要提交到數(shù)據(jù)庫,否則數(shù)據(jù)不會被更新:

03,熊貓這是python中非常有名的數(shù)據(jù)分析包。相信很多朋友都聽說過或者用過。功能強大,操作簡單??梢暂p松處理各種日常文件,包括txt、excel、csv、json等。對應(yīng)mysql,也提供了現(xiàn)成的函數(shù),可以直接讀寫mysql,代碼更少,更容易掌握。如果安裝了,直接輸入命令 "pip安裝熊貓 "在cmd窗口中。

安裝完成后,我們可以直接調(diào)用現(xiàn)成的函數(shù)來操作mysql,Mysql依賴于sqlalch

python與vba處理數(shù)據(jù)的區(qū)別?

有一個csv文件,包含CNUM和COMPANY兩列,數(shù)據(jù)包含空行和重復(fù)行。

要求:

1)刪除空白行;

2)重復(fù)的行數(shù)據(jù)只保留一行有效數(shù)據(jù);

3)將公司列的名稱改為company _ new ;

4)增加六列,即C _ COL, d _ COL ;e _ COL ;f _ COL ;G _ COL和 H _ COL。

首先,使用python熊貓來處理:將熊貓作為pd導(dǎo)入

將numpy作為np導(dǎo)入

從熊貓進口數(shù)據(jù)框,系列

d:

文件_對象打開(文件路徑)

Df_csv(file_obj) #讀取csv文件并創(chuàng)建數(shù)據(jù)幀。

Df (columns [cnum,company,c _ col,d _ col,e _ col,f _ col,g _ col,h _ col],fill _ valu:公司_新},到位真)#修改欄目名稱。

Ddff.dropna (axis0,howall) #刪除NAN,即文件中的空行。

Df [CNUM] df [cnum]。as type (int32) #將cnum列的數(shù)據(jù)類型指定為int32。

ddf . drop _ duplicates(subset[cnum,company _ new],keep first) #刪除重復(fù)行。

_csv(newpath,indexFalse,encodingGBK)

文件_()

如果__nam:

fil: users 12078 desktoppythocnum _ company . CSV

fil: users 12078 desktoppythocnum _ COMPANY _ output . CSV

處理數(shù)據(jù)(文件路徑,文件保存路徑)

二、用VBA應(yīng)對:選項基數(shù)1

選項顯式

副總管()

出錯時轉(zhuǎn)到錯誤處理

將wb標(biāo)注為工作簿

將wb_out標(biāo)注為工作簿

Dim sht作為工作表

Dim sht_out作為工作表

變暗rng As范圍

將已用行作為字節(jié)進行Dim

Dim usedrows_out As Byte

Dim dict_cnum_company作為賓語

Dim字符串文件路徑作為字符串

Dim str_n:賦值

str _ file _ path c: users 12078 desktoppythocnum _ company . CSV

str _ new _ file _ path c: users 12078 desktoptythocnum _ COMPANY _ output . CSV

設(shè)置WB checkAndAttachWorkbook(str _ file _ path)

設(shè)置sht (CNUM_COMPANY)

設(shè)置wb_out

創(chuàng)建一個CSV文件

設(shè)置sht_out wb_(CNUM_COMPANY_OUTPUT)

設(shè)置dict_cnum_company CreateObject(腳本。字典)

usedrows(getlastvidrow(sht,A),getlastvidrow(sht,B))

將標(biāo)題COMPANY重命名為Company_New,刪除空白的重復(fù)行/行。

Dim cnum_company作為字符串

cnum _公司對于sht中的每個rng。范圍(A1,A已用行數(shù))

If ((0,1)。價值)公司

(0, 1).價值公司_新建

如果…就會結(jié)束

cnum_company - (0,1)。價值

If (cnum_company) -而不是dict_cnum_company。存在(- (0,1)。值)那么

dict_cnum_ - (0,1)。值,

如果…就會結(jié)束

下一個rng

循環(huán)dict的關(guān)鍵字,將關(guān)鍵字拆分成cnum數(shù)組和company數(shù)組。

Dim index_dict As Byte

Dim arr_cnum()

Dim arr _公司()

對于index_dict 0到UBound(dict_cnum_)

ReDim Preserve arr_cnum(1到UBound(dict_cnum_) 1)

ReDim Preserve arr_Company(1到UBound(dict_cnum_) 1)

arr _ cnum(index _ dict 1)Split(dict _ cnum _()(index _ dict),-)(0)

arr _ Company(index _ dict 1)Split(dict _ cnum _()(index _ dict),-)(1)

索引_字典

然后

將數(shù)組的值賦給單元格。

噓_出。Range(A1,A UBound(arr_cnum)) (arr_cnum)

噓_出。范圍(B1,B下限(arr_Company)) (arr_Company)

添加6列以輸出CSV fil:

Dim arr_columns()作為變量

arr_columns數(shù)組(C_col,D_col,E_col,F(xiàn)_col,G_col,H_col)

噓_出。Range(C1:H1) arr_c奧倫斯

調(diào)用checkAndCloseWorkbook(str _ file _ path,F(xiàn)alse)

調(diào)用checkAndClos:

調(diào)用checkAndCloseWorkbook(str _ file _ path,F(xiàn)alse)

調(diào)用checkAndCloseWorkbook(str _ new _ file _ path,F(xiàn)alse)

末端接頭

輔助功能:

獲取工作表中第N列的最后一行

函數(shù)getLastValidRow(in_ws作為工作表,in_col作為字符串)

getLastValidRow in_ws。單元格(in_,in_col)。結(jié)束(xlUp)。排

結(jié)束功能

函數(shù)checkAndAttachWorkbook(in _ WB _ path As String)作為工作簿

將wb標(biāo)注為工作簿

將mywb顯示為字符串

mywb in_wb_path

對于工作簿中的每個wb

如果LCase(wb。全名)LCase(mywb) Then

設(shè)置checkAndAttachWorkbook wb

退出功能

如果…就會結(jié)束

然后

設(shè)置wb (in_wb_path,Updat:0)

設(shè)置checkAndAttachWorkbook wb

結(jié)束功能

函數(shù)checkAndCloseWorkbook(in _ WB _ path為字符串,in_saved為布爾值)

將wb標(biāo)注為工作簿

將mywb顯示為字符串

mywb in_wb_path

對于工作簿中的每個wb

如果LCase(wb。全名)LCase(mywb) Then

savechang:in _ saved

退出樂趣動作

如果…就會結(jié)束

然后

結(jié)束功能

三、輸出結(jié)果:

兩種方法的輸出結(jié)果是相同的:

四、對比總結(jié):

Python pandas內(nèi)置了大量的數(shù)據(jù)處理方法,所以我們不 t不需要反復(fù)做輪子,用起來非常方便,代碼也簡單很多。

Excel VBA通過使用數(shù)組、字典等數(shù)據(jù)結(jié)構(gòu)(實際需求中,數(shù)據(jù)量往往很大,所以有些地方?jīng)]有直接遍歷單元格的方法),以及處理字符串、數(shù)組、字典的多種方法來處理這個需求。文件的操作也很復(fù)雜。一旦出現(xiàn)錯誤,比python更難調(diào)試。代碼已經(jīng)盡可能優(yōu)化了,但還是遠遠超過Python。