『壹』 python之excel操作
在數據處理方面,Python 一直扮演著重要的角色,對於 Excel 操作,它有著完整且成熟的第三方庫,使用也較為簡單。
Python 中常用 Excel 操作庫如下:
向 Excel 中寫入一些數據。
通過 pip install xlwt 命令安裝。
執行結果:
通過 pip install XlsxWriter 命令安裝。
XlsxWriter 可以很方便的生成圖表。
執行結果:
我們使用 xlrd 讀取之前寫入的數據,使用 pip install xlrd 命令安裝。
之前寫入的數據還有一個平均年齡是空著的,我們先讀取之前寫入的數據,再計算出平均值,最後將平均值寫入。這里要用到 xlutils 模塊,使用 pip install xlutils 安裝。
執行結果:
『貳』 python處理excel完整版
**1.2.1 新建保存工作簿(覆蓋創建)
獲取當前活動工作表的:
以索引值方式獲取工作表:
以工作表名獲取: wb['工作表名'],注意,此表達方式為切片顯示,所以沒有成員提示。很少用
循環工作表:很好用,一般用sheetnames
獲取所有工作表名:wb.sheetnames
獲取指定工作表名
修改工作表名稱
新建工作表時的默認工作表名:
workbook.remove(工作表)
A1 表示法: 工作表['A1'] ,R1C1 表示法:工作表.cell(行號,列號)
2.工作表['起始行號': '結束行號']或者工作表['起始行號: 結束行號'],此方法是按行讀取的數據。
3.工作表['起始列號': '結束列號']或者工作表['起始列號: 結束列號'],
此方法是按列讀取的數據。
4.獲取(按行)指定工作表所有已用數據:
list(workbook.worksheets[索引值].values)
按行求和(方法 1)
按行求和(方法 )
按列統計平均值
按行獲取工作表使用區域數據:worksheet.rows
按列獲取工作表使用區域數據:worksheet.columns
獲取工作表中最小行號:worksheet.min_row
獲取工作表中最小列號:worksheet.min_column
獲取工作表中最大行號:worksheet.max_row
獲取工作表中最大列號:worksheet.max_column
獲取單元格的行號:cell.row
獲取單元格的列號:cell.column iter
方法獲取指定區域:
1.按行獲取指定工作表單元格區域:worksheet.iter_rows(……)
2.按列獲取指定工作表單元格區域:worksheet.iter_cols(……)
可以通過 min_row、min_col、max_col、max_row 這幾個參數進行單元格區域的控制
A1 表示法:工作表['A1']=值,R1C1 表示法:工作表.cell(行號,列號,值)
在最後一行寫入數據:工作表.append(列表)
1.10.2 實例應用(九九乘法表)
最後加一列寫優秀
『叄』 python處理EXCEL數據
能提供一個樣例文件或截個圖看下具體是怎樣的格式
『肆』 Python處理Excel文件(csv, xls, xlsx)
Excel文件格式主要有csv,xlsx和xlsx,對於不同的格式,我們使用不同的包來進行處理。
其中, encoding='utf-8-sig' 是為了編碼正常可以正確顯示中文, spamreader 中的每一個 row 為list格式,可以循環取出每個單元格的值。
結果:
如果csv文件是數據類的,那麼使用 pandas 包讀寫數據會更方便。
結果:
參數:
結果:
參數:
Excel文件有三層對象:工作薄、工作表和三元格,分別對應 openpyxl 包中的workbook、sheet和cell。
注 : openpyxl 功能全面,還支持:合並單元格、數學運算、單元格格式、迭代器 ws.iter_rows() 操作等。
注 : xlrd 打開為只讀模式,不可修改。
結果:
結果:
『伍』 利用Python處理Excel數據
如果數據沒有標題行,可用pandas添加默認的列名
不讀取哪裡數據,可用skiprows=[i],跳過文件的第i行不讀取
第一次出現的保留,其餘刪除
最後一次出現的保留,其餘刪除
** 對客戶聊天記錄進行分組 **
** 對符合多個條件進行分組**
需要對每一行進行權重設置,列錶行數少可行,過多不可行
假設有4行數據,設置采樣權重
自動生成數據的數量,均值,標准差等數據
相關系數在-1到1之間,接近1為正相關,接近-1為負相關,0為不相關
參考書籍:
《利用pythonj進行數據分析》
《從Excel到Python——數據分析進階指南》
『陸』 python可以處理excel數據嗎
python處理excel數據的方法:1、使用xlrd來處理;2、使用【xlutils+xlrd】來處理;3、使用xlwt來處理;4、使用pyExcelerator來處理;5、使用Pandas庫來處理。
『柒』 怎樣用python,讀取excel中的一列數據
用python讀取excel中的一列數據步驟如下:
1、首先打開dos命令窗,安裝必須的兩個庫,命令是:pip3 installxlrd;Pip3 install xlwt。
『捌』 python如何處理excel
您好,方法
1、在python項目中,新建python文件,並依次導入xlrd和xlwt。
2、接著調用open_workbook()方法,打開一個excel文件。
3、調用sheet_by_name()方法,讀取文件的sheet頁。
4、如果是後面加了個s,sheet_names表示獲取excel中所有的sheet頁。
5、利用sheets()方法加序號,可以獲取某個sheet頁對象。
6、如果想要獲取excel某個sheet頁中記錄的總數,使用nrows。
7、在cell()中傳入兩個值,一個行一個列,然後value獲取對應單元格的值。
『玖』 Python處理Excel效率高十倍(下篇)通篇硬幹貨,再也不用加班啦
《用Python處理Excel表格》下篇來啦!
身為工作黨或學生黨的你,平日里肯定少不了與Excel表格打交道的機會。當你用Excel處理較多數據時,還在使用最原始的人工操作嗎?現在教你如何用Python處理Excel,從此處理表格再也不加班,時間縮短數十倍!
上篇我們進行了一些事前准備,目的是用Python提取Excel表中的數據。而這一篇便是在獲取數據的基礎上,對Excel表格的實操處理。
第9行代碼用來指定創建的excel的活動表的名字:
·不寫第9行,默認創建sheet
·寫了第9行,創建指定名字的sheet表
第9行代碼,通過給單元格重新賦值,來修改單元格的值
第9行代碼的另一種寫法sheet['B1'].value = 'age'
第10行代碼,保存時如果使用原來的(第7行)名字,就直接保存;如果使用了別的名字,就會另存為一個新文件
插入有效數據
使用append()方法,在原來數據的後面,按行插入數據
·insert_rows(idx=數字編號, amount=要插入的行數),插入的行數是在idx行數的下方插入
·insert_cols(idx=數字編號, amount=要插入的列數),插入的位置是在idx列數的左側插入
·delete_rows(idx=數字編號, amount=要刪除的行數)
·delete_cols(idx=數字編號, amount=要刪除的列數)
move_range(「數據區域」,rows=,cols=):正整數為向下或向右、負整數為向左或向上
舉個例子:
openpyxl.styles.Font(name=字體名稱,size=字體大小,bold=是否加粗,italic=是否斜體,color=字體顏色)
其中,字體顏色中的color是RGB的16進製表示
再者,可以使用for循環,修改多行多列的數據,在這里介紹了獲取的方法
Alignment(horizontal=水平對齊模式,vertical=垂直對齊模式,text_rotation=旋轉角度,wrap_text=是否自動換行)
水平對齊:『distributed』,『justify』,『center』,『left』, 『centerContinuous』,'right,『general』
垂直對齊:『bottom』,『distributed』,『justify』,『center』,『top』
當然,你仍舊可以調用for循環來實現對多行多列的操作
設置行列的寬高:
·row_dimensions[行編號].height = 行高
·column_dimensions[列編號].width = 列寬
合並單元格有下面兩種方法,需要注意的是,如果要合並的格子中有數據,即便python沒有報錯,Excel打開的時候也會報錯。
merge_cells(待合並的格子編號)
merge_cells(start_row=起始行號,start_column=起始列號,end_row=結束行號,end_column=結束列號)
拆分單元格的方法同上
unmerge_cells(待合並的格子編號)
unmerge_cells(start_row=起始行號,start_column=起始列號,end_row=結束行號,end_column=結束列號)
create_sheet(「新的sheet名」):創建一個新的sheet表
第11行,使用title修改sheet表的名字
remove(「sheet名」):刪除某個sheet表
要刪除某sheet表,需要激活這個sheet表,即:將其作為活動表(關於活動表的定義請看前面文章開頭寫的有)下面8~11行代碼展示了原始活動表與手動更換活動表,第13行代碼刪掉活動表
背景知識
numpy與pandas
NumPy是 Python 語言的一個擴展程序庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫;pandas 是基於NumPy 的一種工具,該工具是為解決數據分析任務而創建的,我們需要利用Pandas進行Excel的合並
1.下面的代碼生成了一個5行3列的包含15個字元的嵌套列表
(注意,第4行代碼:15是等於35的,如果是15對應43,或者16對應5*3都會報錯)
(注意,第5行代碼,雖然5行3列是15個數據,但是可以指定數據從1開頭,到16結束)
2.添加表頭
使用pandas庫的DataFrame來添加表頭。關於列印的結果,把最左側的一列去掉之後會發現結果很和諧,這是因為最左側的一列代錶行號。此時xx變數的類型是
xlsxwriter模塊一般是和xlrd模塊搭配使用的,
xlsxwriter:負責寫入數據,
xlrd:負責讀取數據。
1.創建一個工作簿
2.創建sheet表
3.寫入數據
『拾』 python處理excel的優勢有什麼
① 相比Excel,Python能夠處理更大的數據集;能夠更容易的實現自動化分析;能夠比較容易的建立復雜的機器學習模型;
② 相比spss,spss是個統計軟體,只適合在科學研究領域做實驗數據的分析,並不適合做偏向實際應用場景的數據的分析;而Python能夠處理復雜的數據邏輯,適合這些場景;
③ 相比R語言,Python的機器學習庫只有一個—sklearn,所有的機器學習方法都集中在這一個庫中,而R語言,我們並不清楚它到底有多少個用來做機器學習的庫,R語言中的機器學習方法是如此的分散,以至於很難掌握。而且Python的使用人數在不斷上升,有一些曾經只使用R的人在轉向Python,投入到一個呈現上升趨勢的技術中,未來才會更加寬廣。
④ 相比上述的幾個工具,Python在做機器學習,網路爬蟲,大數據分析時更加的得心應手。
因為Python擁有像海一樣豐富的第三方庫,所以Python在數據分析方面能夠處理的問題非常之廣,從Excel比較擅長的公式計算,數據透視分析,到MATLAB比較擅長的科學計算,再到R語言中那些零散的機器學習庫所能做的事情,Python都能優雅從容的面對。而這些工具不擅長的網路爬蟲,大數據分析(結合spark),Python更是能夠出色的完成。