没有太多的Python(3.4)经验,但是我正在开发一个程序,它可以让你添加车牌并编辑“状态”。这是一个 parking 场程序,因此状态将为“入/出”。
我遇到的唯一问题是我不知道如何在输入后编辑 CSV 文件上的特定字段。例如:从内到外。
例如 CSV:
NH08OTR, 2008, Vauxhall, Corsa, Blue, In
我希望能够将最后一个字段从“输入”更改为“输出”,但是 CSV 的行数是可变的,因此我只希望它在特定的车牌上执行此操作。下面的例子:
Please choose a number plate to change the status of: NH08OTR
Status change: Out
Status successfully changed to 'Out'
然后我希望它将 CSV 上的“输入”更改为输出。
希望您理解并感谢您的阅读。
最佳答案
给定一个 csv:
NH08OTR, 2008, Vauxhall, Corsa, Blue, In
NH08OTY, 2008, Vauxhall, Corsa, Blue, Out
NH08OTZ, 2008, Vauxhall, Corsa, Blue, In
我们想要打开它,在内存中编辑它,然后保存编辑,因此:
import csv
# Open csv
r = csv.reader(open('car_parking.csv'))
line_in = [k for k in r]
#look for plate
number_plate = 'NH08OTZ'
#get current parking status
find_plate=([i for i,k in enumerate(line_in) if k[0] == number_plate]) #find plate in array
current_park_status = line_in[find_plate[0]][5]
print current_park_status
#edit array position, with new status
new_parking_status = 'IN'
line_in[find_plate[0]][5] = new_parking_status
#overwrite cv with new result
out = csv.writer(open('car_parking.csv', 'w'))
out.writerows(line_in)
关于python - 在 Python 中覆盖/更改 CSV 上的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30199170/