创建模块将输入 csv 文件加载到应用程序 - dijkstra 算法
Create module loading input csv files to the app - dijkstra's algorithm
我需要在 Python 中创建一个函数来读取 csv 文件,当文件不是正确的 csv 文件时,它会抛出一条错误消息。
应该是dijkstra算法相关的应用模块之一。
该文件由用逗号分隔的 3 列组成。
这些是数字。第一个是起始节点,第二个是结束节点,第三个是它们之间的权重。
如果你想保持 csv 文件干净,你应该使用 csv.DictReader()
和 csv.DictWriter()
来读取文件检查文件是否包含预期的列你可以使用以下内容:
import csv
table ={'V1':[],'V2':[], 'edge_weight':[]}
with open('test.csv') as csv_file:
reader = csv.DictReader(csv_file)
try:
for row in reader:
for k in table.keys():
if row[k] is not None:
table[k].append(row[k])
else:
raise Exception
except Exception:
print('wrong csv file')
如果文件不包含名称与字典列相同的 header 或列中缺少值,将引发异常。
您也可以指定自己的例外情况。 Defining own exceptions
我需要在 Python 中创建一个函数来读取 csv 文件,当文件不是正确的 csv 文件时,它会抛出一条错误消息。 应该是dijkstra算法相关的应用模块之一。 该文件由用逗号分隔的 3 列组成。 这些是数字。第一个是起始节点,第二个是结束节点,第三个是它们之间的权重。
如果你想保持 csv 文件干净,你应该使用 csv.DictReader()
和 csv.DictWriter()
来读取文件检查文件是否包含预期的列你可以使用以下内容:
import csv
table ={'V1':[],'V2':[], 'edge_weight':[]}
with open('test.csv') as csv_file:
reader = csv.DictReader(csv_file)
try:
for row in reader:
for k in table.keys():
if row[k] is not None:
table[k].append(row[k])
else:
raise Exception
except Exception:
print('wrong csv file')
如果文件不包含名称与字典列相同的 header 或列中缺少值,将引发异常。 您也可以指定自己的例外情况。 Defining own exceptions