Как скопировать несколько столбцов из одного файла Excel и вставить их в соответствии с потребностями пользователя в другой файл Excel с помощью Python XLSX? - PullRequest
0 голосов
/ 02 октября 2019

Я хочу скопировать столбец из файла Excel, а затем вставить его в другой файл, используя python.

Я попробовал xlsx, прочитал столбец один за другим и преобразовал его в список, а затем создал цикл for для этого списка для записи в новый файл excel

Примечание. Функция get_indexчтение столбца из файла file1 и преобразование в список и функция write_t0_col - печать этого списка в новый файл Excel, но печать первого списка во всех столбцах

def get_index(a, workbook):
    global c1
    List = []
    for i in range(sheet.nrows):
        c1 = sheet.cell_value(i, a)
        convert(c1, List)
    write_to_col(List, workbook)
    print(List)

def write_to_col(data, workbook):  # function to write the list into a column
    row = 0
    col = 0
    for item in data:
        for col in range(5):
            worksheet.write(row, col, item)
        row += 1
    #col+=1

    workbook.close()

вывод, который мне нужен, - это печать всего спискав столбец один за другим, как они вызываются пользователем.

1 Ответ

0 голосов
/ 02 октября 2019

Если вы хотите копировать и вставлять столбцы Excel с помощью Python, достаточно использовать pandas:

import pandas as pd
# read excel
xl = pd.ExcelFile("originExcel.xlsx")
df = xl.parse("your sheet name")

# get the column you want to copy
column = df["your column name"]

# paste it in the new excel file
with pd.ExcelWriter('newExcel.xlsx', mode='w') as writer:
    column.to_excel(writer, sheet_name= "new sheet name", index = False)
...