Jaki jest najlepszy sposób odczytać Excel (XLS) plików z Python (nie CSV plików).Reading/parsowania Excel (XLS) plików z Pythonem
Czy jest wbudowany w pakiet, który jest domyślnie obsługiwany w Pythonie, aby wykonać to zadanie?
Jaki jest najlepszy sposób odczytać Excel (XLS) plików z Python (nie CSV plików).Reading/parsowania Excel (XLS) plików z Pythonem
Czy jest wbudowany w pakiet, który jest domyślnie obsługiwany w Pythonie, aby wykonać to zadanie?
Można użyć dowolnego z bibliotek listed here (jak Pyxlreader, który jest oparty na JExcelApi lub xlwt), plus COM automation to use Excel itself do odczytu plików, ale które wprowadzają Office jako zależność oprogramowania, co może nie zawsze jest opcją.
(1) pyxlreader to absolutna ospa. Nigdy tego nie próbowałeś. Zobacz moje komentarze tutaj: http://stackoverflow.com/questions/1243545/programmatically-extract-data-from-an-excel-spreadsheet (2) 'xlwt' pliki WriTes; użyj 'xlrd' do plików ReaD. –
Gorąco polecam xlrd do czytania .xls
plików.
voyager wspomniał o zastosowaniu automatyzacji COM. Robiąc to sam kilka lat temu, ostrzegam, że robienie tego to prawdziwa PITA. Liczba zastrzeżeń jest ogromna, a dokumentacji brakuje i denerwuje. Wpadłem na wiele dziwnych błędów i potknięć, z których niektóre zajęły wiele godzin.
AKTUALIZACJA: Dla nowszych plików .xlsx
zalecaną biblioteką do odczytu i zapisu wydaje się być openpyxl.
W przypadku plików Excel 2007+ ('.xlsx') prawdopodobnie używałbyś [OpenPyXL] (http://openpyxl.readthedocs.org/). –
Można również rozważyć prowadzenie (non-python) xls2csv programu. Nakarm go plikiem xls, a powinieneś otrzymać csv.
Ale plakat mówi, że musi przeczytać w języku Python ... Sugerujesz uruchomienie 'xls2csv', a następnie parsowanie' csv' z Pythona? – Hbcdev
Python-excelerator zawiera wykonywalny wrapper py_xls2csv wokół konwertera Pythona. –
Dla starszych Excel nie jest OleFileIO_PL module że może odczytać formatu pamięci o strukturze OLE używany.
Python Excelerator również wykonuje to zadanie. http://ghantoos.org/2007/10/25/python-pyexcelerator-small-howto/
Jest również dostępna w Debianie i Ubuntu:
sudo apt-get install python-excelerator
pyton xlrd biblioteka może lepszym rozwiązaniem dla tego problemu
import xlrd
otworzyć skoroszyt
workbook = xlrd.open_workbook('your_file_name.xlsx')
otwarty arkusz przez nazwa
worksheet = workbook.sheet_by_name('Name of the Sheet')
otwarty arkusz indeksem
worksheet = workbook.sheet_by_index(0)
odczytać wartość komórki
worksheet.cell(0, 0).value
Korzystanie pandy:
import pandas as pd
xls = pd.ExcelFile("yourfilename.xls")
sheetX = xls.parse(2) #2 is the sheet number
var1 = sheetX['ColumnName']
print(var1[1]) #1 is the row number...
możliwy duplikat [Jakie biblioteki należy użyć do napisania XLS z Linuksem/Python?] (Http://stackoverflow.com/questions/245225/which-library-sould-i-use-to-write-an-xls-from-linux-pyt hon) – voyager
@voyager: chce czytać pliki, nie zapisywać ich. –