我正在创建一个房间预订系统。我程序的第一部分接受用户输入日期,课程时间和班级人数。
获取班级人数,并将其与在列表中输出的CSV文件进行比较,列表中列出了班级可以容纳的房间-可以正常工作。
然后,我的代码的下一部分采用日期和课程时间段,在预订CSV中查找用户输入的日期(他们希望预订的日期)和课程时间段(他们希望的时间)预订)匹配预订CSV中的“日期” /“上课时间”列,查找这些房间所在的房间,然后从建议的房间列表中删除这些已录取的房间,改为可以实际预订的房间。到目前为止,我的代码是:
check_date = "12/01/2019"
check_period = "Lesson 3"
check_room = "G11"
list1 = listSuitableRooms
print(list1)
with open("Bookings.csv") as f:
reader = csv.reader(f)
header = next(reader)
for line in reader:
for i in range(1, len(list1)):
if line[2] == check_date and line[4] == check_period:
if list1[i] == line[6]:
print("bookings:")
print(line)
print()
print("rooms that fit are:")
list1.remove(list1[i])
print(list1)
else:
print("rooms available are:")
print(list1)
,但是它忽略了列表的条件,并且没有删除繁忙的房间。最好不要使用熊猫-我只需要导入CSV。
答案 0 :(得分:0)
列名中可能会有空格,并且范围应从0开始。
with open("/tmp/Bookings.csv") as f:
reader = csv.reader(f)
header = next(reader)
for line in reader:
for i in range(0, len(list1)):
if line[2].strip() == check_date and line[4].strip() == check_period:
if list1[i] == line[6].strip():
print("bookings:")
print(line)
print()
print("rooms that fit are:")
list1.remove(list1[i])
print(list1)
else:
print("rooms available are:")
print(list1)