1. python實現Excel的復制粘貼
打開第一個表,讀取數據到內存
打開第二個表,
從內存取值,賦值給單元格
保存第二個表
2. 用python將兩個excel文件中的所有工作表復制到一個新的excel
# 導入 openpyxl 庫
import openpyxl
# 創建一個新的 Excel 文件
wb = openpyxl.Workbook()
# 讀取第一個 Excel 文件
wb1 = openpyxl.load_workbook("file1.xlsx")
# 遍歷第一個 Excel 文件中的每個工作表
for sheet in wb1.worksheets:
# 復制該工作表到新的 Excel 文件中
wb.create_sheet(title=sheet.title, index=sheet.index)
# 讀取第二個 Excel 文件
wb2 = openpyxl.load_workbook("file2.xlsx")
# 遍歷第二個 Excel 文件中的每個工作表
for sheet in wb2.worksheets:
# 復制該工作表到新的 Excel 文件中
wb.create_sheet(title=sheet.title, index=sheet.index)
# 保存新的 Excel 文件
wb.save("newfile.xlsx")
在上面的代碼中,第二行導入了 'openpyxl庫,第四行創建了一個新的 Excel 文件。第六行和第十行分別讀取了兩個 Excel 文件。第九行和第十三行分別遍歷了這兩個 Excel 文件中的每個工作表。對於每個工作表,第十一行和第十四行分別將該工作表復制到新的 Excel 文件中。最後,第十六行保存了新的 Excel 文件。
注意,上面的代碼僅作為示例,
3. 新手學習Python,求教Python中如何導入excel數據
讀excel要用到xlrd模塊,官網安裝(http://pypi.python.org/pypi/xlrd)。然後就可以跟著裡面的例子稍微試一下就知道怎麼用了。大概的流程是這樣的:
1、導入模塊
import xlrd
2、打開Excel文件讀取數據
data = xlrd.open_workbook('excel.xls')
3、獲取一個工作表
① table = data.sheets()[0] #通過索引順序獲取
② table = data.sheet_by_index(0) #通過索引順序獲取
③ table = data.sheet_by_name(u'Sheet1')#通過名稱獲取
4、獲取整行和整列的值(返回數組)
table.row_values(i)
table.col_values(i)
5、獲取行數和列數
table.nrows
table.ncols
6、獲取單元格
table.cell(0,0).value
table.cell(2,3).value
就我自己使用的時候覺得還是獲取cell最有用,這就相當於是給了你一個二維數組,餘下你就可以想怎麼干就怎麼幹了。得益於這個十分好用的庫代碼很是簡潔。但是還是有若干坑的存在導致話了一定時間探索。現在列出來供後人參考吧:
1、首先就是我的統計是根據姓名統計各個表中的信息的,但是調試發現不同的表中各個名字貌似不能夠匹配,開始懷疑過編碼問題,不過後來發現是因為空格。因為在excel中輸入的時候很可能會順手在一些名字後面加上幾個空格或是tab鍵,這樣看起來沒什麼差別,但是程序處理的時候這就是兩個完全不同的串了。我的解決方法是給每個獲取的字元串都加上strip()處理一下。效果良好
2、還是字元串的匹配,在判斷某個單元格中的字元串(中文)是否等於我所給出的的時候發現無法匹配,並且各種unicode也不太奏效,網路過一些解決方案,但是都比較復雜或是沒用。最後我採用了一個比較變通的方式:直接從excel中獲取我想要的值再進行比較,效果是不錯就是通用行不太好,個呢不能問題還沒解決。
二、寫excel表
寫excel表要用到xlwt模塊,官網下載(http://pypi.python.org/pypi/xlwt)。大致使用流程如下:
1、導入模塊
復制代碼代碼如下:
import xlwt
2、創建workbook(其實就是excel,後來保存一下就行)
復制代碼代碼如下:
workbook = xlwt.Workbook(encoding = 'ascii')
3、創建表
復制代碼代碼如下:
worksheet = workbook.add_sheet('My Worksheet')
4、往單元格內寫入內容
復制代碼代碼如下:
worksheet.write(0, 0, label = 'Row 0, Column 0 Value')
5、保存
復制代碼代碼如下:
workbook.save('Excel_Workbook.xls')
4. 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的第一個參數為需要復制的文件夾,第二個參數為目標位置;但第二個參數的目標位置必須不存在,否則會報錯。