2016-06-09 12 views
1

Ich schrieb dieses Programm eine Spalte aus einer Excel lesen sie in eine TXT-Datei schreiben Datei dann:mit xlrd in Python Lesen

import xlrd, sys 

text_file = open("Output.txt", "w") 
isotope = xlrd.open_workbook(sys.argv[1]) 
first_sheet=isotope.sheet_by_index(0) 
x= [] 
for rownum in range(first_sheet.nrows): 
    x.append(first_sheet.cell(rownum, 1)) 

for item in x: 
    text_file.write("%s\n" % item) 

text_file.close() 

Es liest die korrekte Spalte aber schreibt es etwa so:

number:517.0 
number:531.0 
number:517.0 
number:520.0 
number:513.0 
number:514.0 
number:522.0 

Kann ich es so lesen, dass es nur den Wert und nicht "number:" schreibt? Ich könnte einfach die ersten 7 Zeichen jeder Zeile ausschneiden, aber das scheint irgendwie ineffizient zu sein. Danke für die Hilfe!

+0

haben Sie 'item.value' versucht? – muratgu

+0

Was bekommen Sie in einem Debugger, wenn Sie 'dir (item)' eingeben? – rrauenza

+1

@muratgu 'item.value' ist genau das, was ich gesucht habe. Danke. – menrva

Antwort

1

Auch, wenn Sie einen Weg, wollen in einem Schuss ganzen Wert einer Zeile zu lesen:

Sie first_sheet zu nehmen und zu tun:

first_sheet.row_values(index_of_row) 

Dies wird wieder eine Liste mit allen Werten von das index_of_row.