【发布时间】:2016-03-04 06:20:35
【问题描述】:
我对 python 很陌生,并且已经在努力完成一项简单的任务,比如从 Excel 列表中导入一系列测量的时间戳。 excel文件有一列日期和一列时间。我需要数据进行进一步计算,例如时差等。
我尝试了不同的方式来获取数据。到目前为止,我的代码如下所示:
-
pyexcel的方法
import pyexcel as pe import datetime import time from datetime import time import timestring for n in range(len(users)): sheet = pe.get_sheet(file_name=users[n],name_columns_by_row=0) sheet = sheet.to_array() data_meas = np.array(sheet) for row in range(len(data_meas)): print(type(row)) input_time = data_meas[row,1] input_date = data_meas[row,0] times = [datetime.datetime.strptime(input_date, input_time, "%d %b %Y %H:%M:%S")]最后一行出现此错误:
TypeError: strptime() 只需要 2 个参数(给定 3 个)
-
xlrd 方法
import xlrd from datetime import time inputdata = xlrd.open_workbook('file.xls') sheet = inputdata.sheet_by_index(0) for row in sheet: input_date=sheet.cell_value(row,0) input_time=sheet.cell_value(row,1) date_values = xlrd.xldate_as_tuple(input_time, inputdata.datemode) time_value = time(*date_values[3:])TypeError: 'Sheet' 对象不可迭代
有人知道如何帮助我吗? 我很感激每一个提示。
【问题讨论】:
-
第一种方法:将
input_date和input_time连接成一个字符串:strptime(input_date + " " + input_time, "%a, %d %b %Y %H:%M:%S") -
感谢您的快速回复。现在它说: ValueError: time data 'Date Time' does not match format '%d %b %Y %H:%M:%S' 在 excel 文件中,我将日期设为 DD/MM/YYYY,时间设为HH:MM:SS
-
确保您传递的格式与连接的字符串匹配。 docs.python.org/2/library/…
-
那么你的格式字符串应该是这样的:
"%d/%m/%Y %H:%M:%S" -
我越来越接近我猜想的答案了..但仍然不对。现在:TypeError:无法将 'datetime.time' 对象隐式转换为 str
标签: python excel timestamp timedelta