㈠ python如何操作當前已經打開的excel
openpyxl 可以讀取人已經打開的excel文件,也可以操作單元格賦值等,但是最後一步保存的時候不能和已打開的文件相同,比如已打開的文件a.xlsx,保存的時候你可以換個名字b.xlsx,相同就會報錯
㈡ python操作excel方法
這里介紹3種Python讀寫Excel的方法,分別是xlrd和xlwt、openpyxl以及pandas,這3種方法都非常簡單,感興趣的朋友可以自己嘗試一下:
xlrd和xlwt
這是最基本的Python讀寫Excel的方式,xlrd專門用於讀取Excel,xlwt專門用於寫入Excel,下面我簡單介紹一下這種方式:
xlrd讀取excel,測試代碼如下,非常簡單,先打開對應的Excel文件,然後定位到某一個sheet,最後再直接讀取行、列、單元格值即可:
xlwt寫入excel,測試代碼如下,新建一個Excel文件,然後添加一個sheet,最後再直接將數據寫入對應單元格即可:
openpyxl
這也是Python一個專門用於讀寫Excel文件的模塊,基本讀寫方式和xlrd、xlwt差不多,使用起來也非常方便,下面我簡單介紹一下這種方式:
讀取Excel,測試代碼如下,打開Excel文件,然後根據name獲取到對應sheet,最後再直接讀取行、列、單元格值即可:
寫入Excel,測試代碼如下,新建一個Excel文件,然後添加一個活動sheet,最後再直接將數據寫入單元格即可:
pandas
這是Python最簡單的讀寫Excel文件的方法,pandas內置了read_excel和to_excel這2個函數,一行代碼即可完成對Excel文件的讀寫,下面我簡單介紹一下這種方式:
讀取Excel,測試代碼如下,非常簡單,read_excel函數直接讀取即可,這里返回的數據類型是DataFrame,可以按行、列、單元格取值:
寫頃則入Excel,測試代碼如下,先構造需要寫入的數據,然後直接利用DataFrame的to_excel函數保存為Excel文件枯擾即可:
至此,我們就介紹完了Python讀寫Excel文件的3種方法。總的來說,這3種方法都非常簡單,只要你有一定的Python基礎,熟悉一下相關代碼和文檔,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望雀敗棚以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
㈢ 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 兩張表格,對關鍵欄位進行匹配
首先選中E1單元格,然後點公式—vlookup
㈤ Python中操作Excel最好用的模塊是
Python中的模塊也稱為庫,在Python中操作Excel的模塊有很多。
優缺點如下:
**1、Pandas模塊**
Pandas是Python的一一個開源數據分析模塊,可用於數據挖掘和數據分析,同時也提供數據清洗功能,可以說它是日前Python數據分析的必備工具之一。Pandas能夠處理類似電子表格的數據,用於數據快速載入、操作、對齊、合並、數據預處理等。
Pandas通過對Excel文件的讀寫實現數據輸入、輸出,Pandas支持.xls和.xlsx格式文件的讀寫,支持只載入每個表的單一工作頁。
import pandas as pd
df=pd.read_excel(r'E:ban.xlsx') #pandas 導入庫獲取excel表的數據內容
df`
**2、xlwings模塊**
xlwings模塊可以實現Python中調用Excel,也可以從Excel調用Python,這個模塊支持支持.xls和.xlsx格式文件的讀寫,支持對這類文件的操作,還支持使用VBA,具有強大的轉換功能,並且可以處理大部分數據類型。
**3、Xlrd模塊**
xlrd模塊可以讀取Excel文件,其對Excel文件的讀取可以實現比較精細的控制。雖然現在使用Pandas模塊讀取和保存Excel文件往往更加方便快捷,但在某些場景下,依然需要xlrd這種更底層的模塊來實現對Excel文件讀取的控制。
xlrd模塊支持.xls、.xlsx格式文件的讀取,但不支持寫信息。
**4、xlwt模塊**
前面xlrd模塊可以讀取Excel文件,但不能寫。而xlwt模塊可以寫、可以修改Excel文件,但不能讀,且只支持.xls格式文件的寫操作。
**5、xlutils模塊**
xlutils也是一個處理Excel文件的模塊,但它不能對Excel文件進行讀和寫的操作,但依賴於xlrd模塊和xlwt模塊。xlutils模塊支持.xls格式文件,不支持.xlsx格式文件。
**6、openpyxl模塊**
openpyxl模塊可以對.xlsx格式的Excel文件進行讀寫操作,特點是讀取快、寫入慢,且不能操作.xls格式文件。
**7、xlsxwriter模塊**
xlsxwriter模塊支持多種Excel功能,可以寫.xlsx格式的Excel文件,而且速度快、佔用內存空間小,但不支持讀或者修改現有的Excel文件。
**8、win32com模塊**
win32com模塊支持.xls、.xlsx格式的Excel文件的讀、寫和修改,讀寫速度快。但win32com模塊存在於pywin32的模塊中,自身沒有完善的文檔,使用起來不太方便。
**9、分析總結**
Pandas模塊把Excel當作數據讀寫的容器,為其強大的數據分析服務,因此讀寫性能的表現中規中矩。xlwings和win32com這兩個模塊都擁有很好的讀寫性能,強大的轉換器可以處理大部分數據類型,同時,可以在程序運行時,在打開的Excel文件中進行實時操作,實現過程的可視化。另外,xlwings模塊的數據結構轉換器使其可以快速地為Excel文件添加二維數據結構,而不需要在Excel文件中重定位數據的行和列,因此筆者認為,從讀寫的便捷性來看,xlwings模塊比較好用一些。