it-swarm.it

analisi di documenti Excel con python

Voglio analizzare il documento Excel negli elenchi in Python. Esiste una python che è utile per questa azione? E quali funzioni sono rilevanti in quella libreria?

43
tomermes

La soluzione migliore per l'analisi dei file Excel sarebbe la libreria xlrd . Il sito python-Excel.org contiene collegamenti ed esempi per xlrd e relativi python librerie Excel, incluso un documento pdf che ha alcuni buoni esempi dell'uso di xlrd. Naturalmente, ci sono anche molti domande xlrd correlate su StackOverflow che potrebbero essere utili.

Un avvertimento con la libreria xlrd è che funzionerà solo con i formati di file xls (Excel 2003 e versioni precedenti di Excel) e non con il formato di file xlsx più recente. C'è una libreria più recente openpyxl per gestire il xlsx, ma non l'ho mai usato.

[~ # ~] update [~ # ~] : Secondo il commento di John, la libreria xlrd ora supporta entrambi xls e xlsx formati di file.

Spero possa aiutare.

43
Mark Gemmill

pandas library ha un modo semplice e veloce per leggere Excel. Se sono principalmente solo dati e niente di troppo complicato funzionerà:

import pandas as pd
ex_data = pd.read_Excel('Excel_file.xlsx')

Lo legge in un panda DataFrame , utile per il munging dei dati, ecc.

Per andare a un elenco:

ex_data['column1_name'].values.tolist()

Se hai più tabelle e cose in ogni foglio di lavoro, potresti voler usare un'altra libreria come xlrd o openpyxl.

10
wordsforthewise

openpyxl è un'ottima libreria e supporta la lettura/scrittura di file xlsx 2010.

codice di analisi di esempio

from openpyxl import load_workbook
wb = load_workbook('Book1.xlsx')
ws = wb.active
for row in ws.iter_rows():
   for cell in row:
     print cell.value

codice di scrittura di esempio

from openpyxl import Workbook
from openpyxl.utils import get_column_letter

wb = Workbook()

dest_filename = 'empty_book.xlsx'

ws1 = wb.active
ws1.title = "range names"

for row in range(1, 40):
    ws1.append(range(600))
wb.save(filename = dest_filename)

puoi leggere di più qui: https://openpyxl.readthedocs.io/en/stable/index.html

7
Ryu_hayabusa

xlrd è ottimo per attività semplici, ma se devi lavorare con una delle funzionalità più profonde di Excel (macro, grafica avanzata, ecc.) e stai lavorando su un computer Windows, puoi usare la libreria pywin32 per controllare il livello win32com. Ciò fornisce l'accesso a quasi tutto ciò che può essere controllato tramite macro/Visual Basic.

5
James Atwood

Se vuoi analizzare xlsx prova python-xlsx

0
Vader