从字符串获取时间范围

时间:2019-08-28 22:40:05

标签: python for-loop get python-datetime

我有一个csv文件,其中包含两列,即酒店名称(xxx)和指示打开时间的字符串,例如:Mon-Thu, Sun 11:30 am - 10 pm / Fri-Sat 11:30 am - 10:30 pm。我想获取在特定时间开放的酒店列表。 这是我尝试过的:

import csv
import sys
f = open(sys.argv[1],'rt')
final = []
try:
  reader=csv.reader(f)
  for row in reader:
   print row
   final.append(row[0])
  print final
finally:
 f.close()

3 个答案:

答案 0 :(得分:1)

读取数据文件

import pandas as pd 

data = pd.read_csv("os.path.join("C:\Users\me\Desktop","myCSVfile.csv")) 

在数据框中找到王牌塔

filter = data["Hotelname"]=="Trump tower"

dataiwannause=data.where(filter, inplace = True) 

替代尝试:

dataiwannause=data[data.Hotelname=="Trump tower"]
dataiwannause=data[data[Hotelname]=="Trump tower"]

如果您使用CSV文件或XLSX文件,请购买熊猫……这确实值得 我没有仔细检查代码,但是我认为它是您需要的。 当我是新手时,我尝试使用csv reader,与熊猫相比,它真的很灵巧。

阅读“熊猫学习10分钟教程”。从长远来看,它将为您节省大量时间 https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html

答案 1 :(得分:0)

为什么不读熊猫的csv并使用“ loc”?

import pandas as pd
df = pd.read_csv("file_path")
df = df.set_index("timestamp colum name")

time = input("timestamp")
print(df.loc[time,'hotel column name'])

答案 2 :(得分:0)

使用以下命令读取csv文件:

import pandas as pd

df = pd.read_csv(filename, index_col=0) 

要从查询中获取结果,请尝试:

df[df[column_name] == value] ## column_name = column to query on, value = time value

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html