我正在创建一个python程序,它以CSV文件作为输入(文件的位置作为命令行),在进行任何预处理之前,它会断言文件的内容是否为特定格式,如果不是,则向用户发出一个异常,声明选择正确的文件。在
内容应该是这样的:Sr.no . Codes . v1 . v2 . v3 . v4 . ... v300
1 . code1 . val1 . val2 . val3 . NA . ... NA
2 . code2 . val4 . NA . NA . NA . ... NA
3 . code3 . val5 . val6 . NA . NA . ... NA
4 . code4 . val7 . val8 . val9 . NA . ... NA
.
.
基本上它应该是一个CSV文件,前两列是SrNo。代码和接下来的300列作为一些值,然后是“NA”,最多300个。在
如果用户上传这样的东西
^{pr2}$
它应该引发一个异常,因为与Srno=1一致,在v2列中有一个值,尽管在v1列中有NA。在
想知道,如果文件的内容是使用Python的这种格式,我该如何断言(一个示例代码片段将很有帮助)。此外,我还可以从中学习如何断言文件内容内容,不仅是这种格式,而且通用格式。在
目前,我已经到了这里,需要完成assert_format函数import sys
import csv
def assert_format(file_name):
csv_file = open(file_name)
reader = csv.reader(csv_file)
#code to check format
return True
file_name = sys.argv[1]
if assert_format(file_name):
print("format is correct")
else:
print("choose correct file")
提前谢谢!在