Python多文件打开函数

2024-10-01 13:46:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这部分代码,我使用input命令创建了一个小模块,可以在其中选择所需的文件。现在我需要通过添加一些循环来改进这个模块?我想是吧。我需要的是:

  1. 第一次输入询问我来自哪个站点的数据,我使用快捷方式使其快速有效。你知道吗
  2. Station之后,我输入了Date相同的日期,就像2015-07-19,这也可以正常工作。你知道吗
  3. 这里有一些麻烦。我需要一个函数,将采取从例如1300到1500(hhmm)的所有数据。请注意,每个文件存储5分钟的数据,因此每个步骤每5分钟一次。你知道吗

我做了一个变量,比如Start_timeEnd_time,但是我不知道如何将它放入我的代码中。你知道吗

总结: 我需要一个功能,将打开所需的时间间隔文件一个接一个。后来在我的代码中有一些情节等,但我没有把它们放在这里,使这个问题更清楚。你知道吗

# Input variables
h = "Hylaty"
u = 'Hugo'
p = 'Patagonia'

Station = input('Enter a station name (Hylaty = h, Hugo = u, Patagonia = p): ')
Date = raw_input('Enter date time (yyyy-mm-dd): ')
Time = raw_input('Enter time (hh-mm): ')
Start_time = input('Enter start time: ')
End_time = input('Enter end time: ')


data = testInstance.convert(r"/Database/Python/Data/Willy/{0}/{1}/".format(Station,Date), "{0}{1}".format(Date,Time),conversionError)
end = time.time()
print("time elapsed " + str(end - start))

Tags: 模块文件数据代码inputdatetimestart
2条回答

要生成时间范围,请使用pandas

import pandas as pd

my_ranges = pd.date_range('2015-07-19', '2015-07-20', freq='5S')

此示例将输出:

In []: my_ranges
Out[]: 
DatetimeIndex(['2015-07-19 00:00:00', '2015-07-19 00:00:05',
           '2015-07-19 00:00:10', '2015-07-19 00:00:15',
           '2015-07-19 00:00:20', '2015-07-19 00:00:25',
           '2015-07-19 00:00:30', '2015-07-19 00:00:35',
           '2015-07-19 00:00:40', '2015-07-19 00:00:45',
           ...
           '2015-07-19 23:59:15', '2015-07-19 23:59:20',
           '2015-07-19 23:59:25', '2015-07-19 23:59:30',
           '2015-07-19 23:59:35', '2015-07-19 23:59:40',
           '2015-07-19 23:59:45', '2015-07-19 23:59:50',
           '2015-07-19 23:59:55', '2015-07-20 00:00:00'],
          dtype='datetime64[ns]', length=17281, freq='5S')

它可以通过索引访问,也可以通过所有方法切片,以便提取数据集中的并行范围。你知道吗

Date = raw_input('Enter date time (yyyy-mm-dd): ')
Start_time_hours = int(raw_input('Enter start time (hh): ' ))
Start_time_minutes = int(raw_input('Enter start time (mm): ' ))
End_time_hours = int(raw_input('Enter end time (hh): ' ))
End_time_minutes = int(raw_input('Enter end time (mm): ' ))

Start_time_hours += (Start_time_minutes / 60)
    Start_time_minutes %= 60
    str(Start_time_minutes)
    str(Start_time_hours)
    str(End_time_minutes)
    str(End_time_hours)
    Start_time_hours_format = '{:02}'.format(Start_time_hours)
    Start_time_minutes_format = '{:02}'.format(Start_time_minutes)
    End_time_hours_format = '{:02}'.format(End_time_hours)
    End_time_minutes_format = '{:02}'.format(End_time_minutes)
    int(Start_time_minutes)
    Start_time_minutes += 5

这个代码解决了我的问题。你知道吗

相关问题 更多 >