簡體   English   中英

如何使用openpyxl將Excel文件數組的最后一行導入另一個Excel

[英]How to import the last row from array of excel files to another excel using openpyxl

我有與最后一行相似的Excel文件列表。 它包含有關客戶的私人信息(他的名字,姓氏,電話)。 每個excel文件對應於每個客戶端。 我需要使用每個客戶端的所有數據制作一個excel文件。 我決定自動執行此操作,因此轉到openpyxl庫。 我寫了這樣的代碼,但是不能正常工作。

在我的測試目錄中,我有三個文件。

import openpyxl
import os
import glob
from openpyxl import load_workbook
from openpyxl import Workbook
import openpyxl.styles
from openpyxl.cell import get_column_letter

def get_range(file, new_file):

    prize_sheet = prize_info.active
    sheet = f.active
    for row_num in range (1, len(file_array_reciever)):
        for col_num in range (3,sheet.max_column):
            prize_sheet.cell(row = row_num, column = col_num).value = sheet.cell(row = sheet.max_row, column = col_num).value

    return prize_info.save("Ex.xlsx")



#path to test files
path_kit = 'prize_input/kit'

#creating single document
prize_info = Workbook()

file_array_reciever = []

for file in glob.glob(os.path.join(path_kit, '*.xlsx')):
    file_array_reciever.append(file)


for file in glob.glob(os.path.join(path_kit, '*.xlsx')):
    file_array_reciever.append(file)
    f = load_workbook(filename = file)
    get_range(f,prize_info)

我認為我的循環有問題,因為在輸出文件中,我從第一個excel文件中獲得了三行相同的行

函數get_range()將覆蓋現有行。

您應該能夠使用ws.rows[-1]從任何工作表中獲取最后一行。 就像是

for f in file_array_receiver:
    sheet = f.active
    prize_sheet.append(f.rows[-1][:3])

可能是您要找的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM