2016-06-09 445 views
1

我試圖從一個工作簿複製單元格的值到另一個。我需要複製Sheet2中的單元格A1,A2,B4,B5,B6,B7,並將其粘貼到單元格A1,B1,C1,D1,E1,F1中的新工作簿中。 我該如何用python做到這一點?複製和粘貼單元格與Python

import xlrd 
file_location = "C:/attach/Source.xlsx" 
workbook = xlrd.open_workbook(file_location) 
sheet = workbook.sheet_by_index(1) 

for row in range(sheet.nrows): 
    cell = sheet.cell(row, 1) 
print(cell.value) 

回答

0

的過程是這樣的:

  • 打開工作簿作爲你的代碼確實已經
  • 創建xlwt一個新的工作簿從與xlrd閱讀:wb = xlwt.Workbook()
  • 創建一個新的工作表在新的工作簿:ws = wb.add_sheet('Sheet1')
  • 你的細胞複製到新的工作表:ws.write(row, col, value)

你可能想使用字典來映射單元位置變換。它看起來是這樣的:{(row,col):(new_row, new_col), ...}

要複製現有工作簿中的單元格,可以使用xlutils.copy.copy()複製現有工作簿並將其放入可以編輯的xlwt.Workbook對象中。 xlutils documentation描述了這一點。

+0

如果我想複製到現有的工作簿,而不是創建一個新的? – Anthropy

+0

對於這一點,你可以用'xlutils.copy.copy()'來複制現有的工作簿,並把它放在一個'xlwt.Workbook'對象,您可以再編輯。 http://xlutils.readthedocs.io/en/latest/copy.html –