2013-07-09 17 views
9

dahil olmak üzere bir python veri çerçevesinin excel'ini excel verilerini python'daki bir veri çerçevesine nasıl aktarabilirim.okunması, satır 5'ten başlayarak ve başlıklar

Temelde geçerli excel çalışma kitabı bir özet tabloyu yeniler ve diğer bazı şeyler yapar açılış bazı vba çalışır.

Sonra ileri analiz için Python dataframe içine özet tablo yenileme sonuçlarını ithal etmek istiyoruz.

import xlrd 

wb = xlrd.open_workbook('C:\Users\cb\Machine_Learning\cMap_Joins.xlsm') 

#sheetnames 
print wb.sheet_names() 

#number of sheets 
print wb.nsheets 

Dosyanın yenilenmesi ve açılması iyi çalışıyor. Ancak, ilk satırdaki verileri, son satırdan aşağıya doğru n.

+0

'u kullanıyor. Teşekkürler Andy. Ben pd.ExcelFile bir .xlsm dosyası ile çalışmak için alamadım ve .xlsx ve .xlsm dosyaları ile çalışmak gerekiyordu openpyxl yüklemek için görünmüyordu. Sadece vbimi .xls olarak kaydetmek için değiştirdim. her şey skip_rows = 4 bölümü dışında çalıştı ama ben sadece daha sonra istenmeyen satırları python ile df2 = df [2:] – IcemanBerlin

+0

Oh. Aslında sadece ayarlanmış skip_rows = 4 atla = 4 ve bu kısım da çalıştı. çok teşekkürler. Gümüş bir yıldız olsun ... .xlsm dosyası işe yandıysa;) – IcemanBerlin

+0

Kötülüğümü kandırdım! Github xlsm dosyaları hakkında bir sorun ekleyecektir. –

cevap

18

Excel sayfalarını okumak için panda ExcelFile parse yöntem kullanabilirsiniz io docs bkz:

xls = pd.ExcelFile('C:\Users\cb\Machine_Learning\cMap_Joins.xlsm') 

df = xls.parse('Sheet1', skiprows=4, index_col=None, na_values=['NA']) 

skiprows ilk 4 satırları yok sayar ve other options birkaç (yani satır indeksi 4 başlayacak). (Kabul edilen yanıt yorumlarında tartışıldığı gibi)

+0

Bunun dışında * pandas.read_excel() * ayrıca excel dosyalarını okumak için de kullanılabilir. Bu pandas.ExcelFile() – rrawat

+0

@rwt ['pd.read_excel'] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html) ile aynıdır, bu cevap önceden onaylanmış! –

İlgili konular