2013-07-16 3 views
3

Я пытаюсь прочитать даты/время с листа excel с использованием Python, но я хочу только читать за это время, чтобы я мог выполнять вычисления на нем. Например, если у меня есть дата в формате: 3/11/2003 4:03:00 AM на моем листе excel, как я могу читать только 4:03:00 в Python? В конечном счете, я хочу, чтобы вычитали часы, минуты или секунды с момента чтения.Python Excel date/time read in issue

ответ

6

Лучшим вариантом было бы преобразование даты в datetime с использованием xldate_as_tuple. Предполагая, что у вас есть файл с test.xls3/11/2003 4:03:00 AM в A1 клетки:

from datetime import datetime, timedelta 
import xlrd 

book = xlrd.open_workbook(filename='test.xls') 
sheet = book.sheet_by_name('Sheet1') 

date = sheet.cell_value(0, 0) 
datetime_value = datetime(*xlrd.xldate_as_tuple(date, 0)) 

print datetime_value # prints 2003-11-03 04:03:00 
print datetime_value.time() # 04:03:00 
print datetime_value - timedelta(hours=1) # prints 2003-11-03 03:03:00 

Надежда, что помогает.

+0

Хорошо, круто, но как я могу прочитать это время с листа excel? –

+0

Вы посмотрели http://www.python-excel.org/? – stenci

+0

Я отредактировал ответ, пожалуйста, проверьте. – alecxe