我有一个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()
答案 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