導航:首頁 > 編程語言 > python復制excel表格

python復制excel表格

發布時間:2022-06-19 17:29:33

python 怎麼使用openpyxl復制Excel單元格樣式

前面幾個章節,簡單介紹了openpyxl模塊及使用該模塊對Excel文件進行簡單操作,並通過一個實戰項目(人口數據統計)展示了使用openpyxl模塊處理Excel文件的優勢。今天,我們主要梳理通過openpyxl如何對Excel文件的單元格樣式進行編輯。也許有人要問對於Excel文件中的單元格直接利用滑鼠鍵盤進行編輯設置是很方便的,為什麼要使用openpyxl進行設置呢?試想,如果Excel文件足夠大,比如幾M或者更大,某些低配電腦打開這些大文件都是很不方便的(大部分辦公電腦配置都不高哦),別提利用滑鼠對個別單元格樣式進行設置了,查找就很不方便的……這次我們利用上節課實戰中得到的人口統計表對表格中的樣式進行設置,看看使用openpyxl設置單元格樣式的方便之處。
一、單元格樣式簡介
openpyxl處理Excel文件中單元格樣式,總共有六個屬性類。分別是:font(字體類,可設置字型大小、字體顏色、下劃線等)、fill(填充類,可設置單元格填充顏色等)、border(邊框類,可以設置單元格各種類型的邊框)、alignment(位置類、可以設置單元格內數據各種對齊方式)、number_format(格式類,可以設置單元格內各種類型的數據格式)、protection(保護類,可以設置單元格防寫等)。
二、單元格樣式設置實例
我們使用官方文檔的例子進行梳理。

Ⅱ python可以帶格式復制粘貼excel里的單元格嗎

直接對單元格讀寫是操作的Cells.Value,只對值影響,公式會丟失,格式保持不變。
如果需要復制格式,需要程序以對象打開EXCEL,使用Range.Copy方法復制。

Ⅲ python復制excel文件

# -*- coding: utf-8 -*-
import xlrd
import shutil
import os
def read_excel():
# 打開文件
workbook = xlrd.open_workbook(r'C:\Users\xxx\Desktop\xxx.xls')
# 獲取所有sheet
print (workbook.sheet_names()) # [u'sheet1', u'sheet2']
#獲取sheet
sheet= workbook.sheet_names()[0]
sheet_data=workbook.sheet_by_name(sheet)
print(sheet_data)
# sheet的名稱,行數,列數
print (sheet_data.name,sheet_data.nrows,sheet_data.ncols)
rows = sheet_data.row_values(0) # 獲取第四行內容
cols = sheet_data.col_values(2) # 獲取第三列內容
print (rows)
for i,j in enumerate(rows):
print(i,':',j)

for i in range(sheet_data.nrows):
strr=sheet_data.row_values(i)[5][:5]
if(strr == 'AXIAL'):
dicom_path=sheet_data.row_values(i)[15]
row_path=sheet_data.row_values(i)[16]
print(row_path)
roww=row_path.split('\\',3)[3]
print(roww)
#row_path='C:\Users\xxx\Desktop\xxx'
path_now=os.path.join('\\\\xxx',roww)
print(path_now)
shutil.tree(path_now,r'C:\Users\xxx\Desktop\Get')
#shutil.tree(row_path,r'C:\Users\xxx\Desktop')
break

if __name__ == '__main__':
read_excel()

#文件復制主要利用shutil包,tree的第一個參數為需要復制的文件夾,第二個參數為目標位置;但第二個參數的目標位置必須不存在,否則會報錯。

Ⅳ python提取excel表中的數據兩列

1、首先打開excel表格,在單元格中輸入兩列數據,需要將這兩列數據進行比對相同數據。

2、然後在C1單元格中輸入公式:=VLOOKUP(B1,A:A,1,0),意思是比對B1單元格中A列中是否有相同數據。

3、點擊回車,即可將公式的計算結果顯示出來,可以看到C1中顯示的是B1在A列中找到的相同數據。

4、將公式向下填充,即可發現C列中顯示出的數字即為有相同數據的,顯示「#N/A」的為沒有找到匹配數據的。

5、將C1-C4中的數據進行復制並粘貼成數值,即可完成相同數據的提取操作。
在實際研究中,我們經常需要獲取大量數據,而這些數據很大一部分以pdf表格的形式呈現,如公司年報、發行上市公告等。面對如此多的數據表格,採用手工復制黏貼的方式顯然並不可取。那麼如何才能高效提取出pdf文件中的表格數據呢?

Python提供了許多可用於pdf表格識別的庫,如camelot、tabula、pdfplumber等。綜合來看,pdfplumber庫的性能較佳,能提取出完整、且相對規范的表格。因此,本推文也主要介紹pdfplumber庫在pdf表格提取中的作用。

作為一個強大的pdf文件解析工具,pdfplumber庫可迅速將pdf文檔轉換為易於處理的txt文檔,並輸出pdf文檔的字元、頁面、頁碼等信息,還可進行頁面可視化操作。使用pdfplumber庫前需先安裝,即在cmd命令行中輸入:

pip install pdfplumber

pdfplumber庫提供了兩種pdf表格提取函數,分別為.extract_tables( )及.extract_table( ),兩種函數提取結果存在差異。為進行演示,我們網站上下載了一份短期融資券主體信用評級報告,為pdf格式。任意選取某一表格,其界面如下:

接下來,我們簡要分析兩種提取模式下的結果差異。

(1).extract_tables( )

可輸出頁面中所有表格,並返回一個嵌套列表,其結構層次為table→row→cell。此時,頁面上的整個表格被放入一個大列表中,原表格中的各行組成該大列表中的各個子列表。若需輸出單個外層列表元素,得到的便是由原表格同一行元素構成的列表。例如,我們執行如下程序:

輸出結果:

(2).extract_table( )

返回多個獨立列表,其結構層次為row→cell。若頁面中存在多個行數相同的表格,則默認輸出頂部表格;否則,僅輸出行數最多的一個表格。此時,表格的每一行都作為一個單獨的列表,列表中每個元素即為原表格的各個單元格內容。若需輸出某個元素,得到的便是具體的數值或字元串。如下:

輸出結果:

在此基礎上,我們詳細介紹如何從pdf文件中提取表格數據。其中一種思路便是將提取出的列表視為一個字元串,結合Python的正則表達式re模塊進行字元串處理後,將其保存為以標准英文逗號分隔、可被Excel識別的csv格式文件,即進行如下操作:

輸出結果:

盡管能獲得完整的表格數據,但這種方法相對不易理解,且在處理結構不規則的表格時容易出錯。由於通過pdfplumber庫提取出的表格數據為整齊的列表結構,且含有數字、字元串等數據類型。因此,我們可調用pandas庫下的DataFrame( )函數,將列表轉換為可直接輸出至Excel的DataFrame數據結構。DataFrame的基本構造函數如下:

DataFrame([data,index, columns])

三個參數data、index和columns分別代表創建對象、行索引和列索引。DataFrame類型可由二維ndarray對象、列表、字典、元組等創建。本推文中的data即指整個pdf表格,提取程序如下:

其中,table[1:]表示選定整個表格進行DataFrame對象創建,columns=table[0]表示將表格第一行元素作為列變數名,且不創建行索引。輸出Excel表格如下:

通過以上簡單程序,我們便提取出了完整的pdf表格。但需注意的是,面對不規則的表格數據提取,創建DataFrame對象的方法依然可能出錯,在實際操作中還需進行核對。

關於我們

微信公眾號「爬蟲俱樂部」分享實用的stata命令,歡迎轉載、打賞。爬蟲俱樂部是由李春濤教授領導下的研究生及本科生組成的大數據分析和數據挖掘團隊。

投稿要求:

1)必須原創,禁止抄襲;

2)必須准確,詳細,有例子,有截圖;

Ⅳ 如何用Python復制excel內容到剪切板

方法一 打開Excel,點擊「編輯」-「Office剪切板」,即可在窗口右側出現「剪切板」。 方法二 Excel中,選中一單元格,連續兩次按復制(或剪切)的快捷鍵「Ctrl+c」(或「Ctrl+x)」亦可調出「剪切板」

Ⅵ python 能不能做到從一個表格一列的第二行開始復制到另一個表格的某一列的第二行

Python 中有許多「開蓋即食」的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實現文件復制的特殊方法。下面我們開始學習這九種不同的方法來實現 Python 復制文件操作。

在開始之前,你必須明白為什麼了解最適合你的 Python 復制文件方法是如此重要。這是因為文件 I/O 操作屬於性能密集型而且經常會達到瓶頸。這就是為什麼你應該根據你的應用程序的設計選擇最好的方法。

一些共享資源的程序會傾向於以阻塞模式來復制文件,而有些則可能希望以非同步方式執行。比如 — 使用線程來復制文件或者啟動單獨的進程來實現它。還有一點需要考慮的是平台的可移植性。這意味著你應該知道你要運行的程序所在的目標操作系統(Windows/Linux/Mac OS X 等)。

用 Python 復制文件的 9 種方法具體是:

shutil file() 方法
shutil () 方法
shutil fileobj() 方法
shutil 2() 方法
os popen 方法
os system() 方法
threading Thread() 方法
subprocess call() 方法
subprocess check_output() 方法
Shutil Copyfile()方法

只有當目標是可寫的,這個方法才會將源內容復制到目標位置。如果你沒有寫入許可權,則會導致 IOError 異常。

它會打開輸入文件進行讀取並忽略其文件類型。接下來,它不會以任何不同的方式處理特殊文件,也不會將它們復制為新的特殊文件。

Copyfile() 方法使用下面的低級函數 fileobj()。它將文件名作為參數,打開它們並將文件句柄傳遞給 fileobj()。這個方法中有一個可選的第三個參數,你可用它來指定緩沖區長度。然後它會打開文件並讀取指定緩沖區大小的塊。但是,默認是一次讀取整個文件。

file(source_file, destination_file)
以下是關於 file() 方法的要點。

它將源內容復制到目標文件中。

如果目標文件不可寫入,那麼復制操作將導致 IOError 異常。

如果源文件和目標文件都相同,它將會返回 SameFileError。

但是,如果目標文件之前有不同的名稱,那麼該副本將會覆蓋其內容。

如果目標是一個目錄,這意味著此方法不會復制到目錄,那麼會發生 Error 13。

它不支持復制諸如字元或塊驅動以及管道等文件

Ⅶ python 處理excel表格,對比2個表格的前5列內容,把內容復制過去

這兩個表格之間是什麼關系?

Ⅷ python怎麼把數據寫入到excel

Python中一般使用xlrd(excel read)來讀取Excel文件,使用xlwt(excel write)來生成Excel文件(可以控制Excel中單元格的格式),需要注意的是,用xlrd讀取excel是不能對其進行操作的:xlrd.open_workbook()方法返回xlrd.Book類型,是只讀的,不能對其進行操作。而xlwt.Workbook()返回的xlwt.Workbook類型的save(filepath)方法可以保存excel文件。

因此對於讀取和生成Excel文件都非常容易處理,但是對於已經存在的Excel文件進行修改就比較麻煩了。不過,還有一個xlutils(依賴於xlrd和xlwt)提供復制excel文件內容和修改文件的功能。其實際也只是在xlrd.Book和xlwt.Workbook之間建立了一個管道而已。

xlutils.模塊的()方法實現了這個功能,示例代碼如下:

Ⅸ python如何實現復制excel第2列的2-8行到第3列1-7行

閱讀全文

與python復制excel表格相關的資料

熱點內容
不會數學英語如何編程 瀏覽:86
如何能知道網站伺服器地址 瀏覽:648
程序員月薪5萬難嗎 瀏覽:138
如何評價程序員 瀏覽:802
雲虛機和伺服器的區別 瀏覽:403
廣西柳州壓縮機廠 瀏覽:639
arm開發編譯器 瀏覽:833
51單片機的核心 瀏覽:746
看電視直播是哪個app 瀏覽:958
將c源程序編譯成目標文件 瀏覽:787
再要你命3000pdf 瀏覽:558
ai軟體解壓軟體怎麼解壓 瀏覽:520
文件夾怎樣設置序列號 瀏覽:963
javascriptgzip壓縮 瀏覽:248
易語言怎麼取出文件夾 瀏覽:819
蘋果xs手機加密app哪裡設置 瀏覽:605
超聲霧化器與壓縮霧化器 瀏覽:643
模擬實現進程調度演算法 瀏覽:388
現在的壓縮包都是加密 瀏覽:331
施工員找工作去哪個app 瀏覽:632