Python 3.x 如何从excel导入数据并使用它?
我有一个包含三列的输入文件:开始日期、结束日期和间隔。输入文件:Python 3.x 如何从excel导入数据并使用它?,python-3.x,pandas,python-datetime,Python 3.x,Pandas,Python Datetime,我有一个包含三列的输入文件:开始日期、结束日期和间隔。输入文件: start date end date interval 01/01/2020 10/01/2020 15 我想在date_range函数中使用这些值。我的 import pandas as pd timeDF = pd.read_excel('inputFile.xlsx') startDate = timeDF['start date'] endDate = timeDF['end date'] int
start date end date interval
01/01/2020 10/01/2020 15
我想在date_range函数中使用这些值。我的
import pandas as pd
timeDF = pd.read_excel('inputFile.xlsx')
startDate = timeDF['start date']
endDate = timeDF['end date']
interval = timeDF['interval']
timeStamp = pd.date_range(start = startDate, end = endDate, freq = str(interval) + 'min')
print(timeStamp)
我得到的错误:
Name: Interval, dtype: int64min
遇到此问题是因为将字符串min连接到interval上,interval是pandas.core.series.series对象 当您调用pd.read_excel'inputFile.xlsx'时,您会得到一个系列对象的字典,因此startDate、endDate和interval都是您应该从中提取数据的系列对象,而不是直接使用 为了避免此错误,可以使用timeDF['name'].values.item获取所有三个变量的值,如下所示:
import pandas as pd
timeDF = pd.read_excel('inputFile.xlsx')
startDate = timeDF['start date'].values.item()
endDate = timeDF['end date'].values.item()
interval = timeDF['interval'].values.item()
timeStamp = pd.date_range(start = startDate, end = endDate, freq = str(interval) + 'min')
print(timeStamp)
输出:
DatetimeIndex(['2020-01-01 00:00:00', '2020-01-01 00:15:00',
'2020-01-01 00:30:00', '2020-01-01 00:45:00',
'2020-01-01 01:00:00', '2020-01-01 01:15:00',
'2020-01-01 01:30:00', '2020-01-01 01:45:00',
'2020-01-01 02:00:00', '2020-01-01 02:15:00',
...
'2020-09-30 21:45:00', '2020-09-30 22:00:00',
'2020-09-30 22:15:00', '2020-09-30 22:30:00',
'2020-09-30 22:45:00', '2020-09-30 23:00:00',
'2020-09-30 23:15:00', '2020-09-30 23:30:00',
'2020-09-30 23:45:00', '2020-10-01 00:00:00'],
dtype='datetime64[ns]', length=26305, freq='15T')