从返回的CSV数据中创建变量

时间:2014-03-11 13:12:35

标签: python csv

我试图使用Python和CSV文件创建一个简单的影院预订系统,其中0是免费席位,1是空座位。在那一刻,用户输入所需的座位数和所需的行数(A-J)。然后,程序应检查该行是否在单个块中具有可用空间。

当它返回值0和1以及该行可用的空闲座位数量时。然而,我正在努力确定是否有一块可用的免费座位,足以容纳所需的座位数量。有什么想法吗?

目前返回

0
0
0
0
0
1
1
1
1
1
A
Spaces available:  5

代码

import csv

Section = 0
LargeBlock = 0
Spaces = 0
LastSpace = 0

SpacesReq = int(input("How many spaces do you require? (8 Max.) "))
while SpacesReq > 8:
    print("Invalid amount.")
    break
SectionReq = input("What row would you like to check between A- J? (Uppercase required) ")

with open('data.csv', 'rt') as file:
    open_f = csv.reader(file,  delimiter=',')

    for line in open_f:
        for item in line:
            if line[10] == SectionReq:
                print(item)
                if item == "0":
                    Spaces = Spaces + 1 
print("Spaces available: ", Spaces)

1 个答案:

答案 0 :(得分:0)

你正在寻找空块,所以在线循环是一个好主意:当遇到0时,增加块大小;如果遇到1,则块大小应重置为0.

但如果你把你的行视为字符串,你会有更简单的事情:

for line in open_f:
    if line[10]==SectionReq:
        SearchedBlock = '0'*SpacesReq
        strLine = ''.join(str(i) for i in line)
        if SearchBlock in strLine:
            # empty block found
            break