【发布时间】:2016-08-19 13:46:40
【问题描述】:
我有一个 CSV 文件,其中在不同的列中包含补丁名称、发布日期和一些其他信息。我正在尝试编写一个 Python 脚本,该脚本将询问用户补丁名称,一旦获得输入,将检查补丁是否在 CSV 文件中并打印出发布日期。
到目前为止,我已经根据this的答案编写了以下代码。
import csv
patch = raw_input("Please provide your Patchname: ")
with open("CSV_File1.csv") as my_file1:
reader = csv.DictReader(my_file1)
for row in reader:
for k in row:
if row[k] == patch:
print "According to the CSV_File1 database: "+row[k]
这样我可以在屏幕上打印 Patch 名称。我不知道如何使用 Dates 遍历列,以便打印与我作为输入提供的 Patch 名称的行对应的日期。
另外,我想检查一下那个补丁是不是最后一个发布的。如果不是,则打印最新版本及其发布日期。我的问题是 CSV 文件包含不同软件版本的补丁名称,所以我不能只打印列表的最后一个。例如:
PatchXXXYY,...other columns...,Release Date,... <--- (this is the header row of the CSV file)
Patch10000,...,date
Patch10001,...,date
Patch10002,...,date
Patch10100,...,date
Patch10101,...,date
Patch10102,...,date
Patch10103,...,date
Patch20000,...,date
...
所以,如果我的输入是“Patch10000”,那么我应该得到它的发布日期和最新的可用补丁,在这种情况下是 Patch10002,以及它的发布日期。但不是 Patch20000,因为那将是不同的软件版本。一个更可取的输出是这样的:
根据 CSV_File1 数据库:Patch10100 发布于 “日期”。最新的可用补丁是“Patch10103”,它是 在“日期”发布。
这是因为上面 PatchXXXYY 中的“XXX”数字代表软件版本,“YY”代表补丁编号。我希望这很清楚。
提前致谢!
【问题讨论】: