web-dev-qa-db-fra.com

À l'aide de Python, écrivez un fichier Excel avec des colonnes copiées à partir d'un autre fichier Excel

J'ai un fichier Excel contenant un nombre variable de colonnes, je voudrais parcourir certaines colonnes (à partir de leur valeur de ligne d'en-tête) de ce fichier en utilisant Python, puis écrire (copier) ces colonnes dans un autre fichier Excel.

Des exemples sur la façon dont je peux le faire s'il vous plaît?

24
salamey

Voici quelques options au choix:

  • xlwt (écriture de fichiers xls)
  • xlrd (lecture des fichiers xls/xlsx)
  • openpyxl (lecture/écriture de fichiers xlsx)
  • xlsxwriter (écriture de fichiers xlsx)

Si vous devez copier uniquement des données (sans informations de formatage), vous pouvez simplement utiliser n'importe quelle combinaison de ces outils pour la lecture/l'écriture. Si vous avez un fichier xls, vous devez utiliser l'option xlrd + xlwt.

Voici un exemple simple de copie de la première ligne du fichier Excel existant vers le nouveau:

import xlwt
import xlrd

workbook = xlrd.open_workbook('input.xls')
sheet = workbook.sheet_by_index(0)

data = [sheet.cell_value(0, col) for col in range(sheet.ncols)]

workbook = xlwt.Workbook()
sheet = workbook.add_sheet('test')

for index, value in enumerate(data):
    sheet.write(0, index, value)

workbook.save('output.xls')
42
alecxe