在Python中使用Networkx的问题。
我使用定界符','把我的csv文件上传到Python中。现在我有一个节点列表和一个编辑列表。当我试图将csv(节点)文件中的属性分配给一个空字典时,我收到了错误信息。
IndexError: list index out of range
Herbey我加了一段我的代码。
nodereader = csv.reader(nodecsv, delimiter=(','))
nodes= [n for n in nodereader][1:]
node_names = [n[0] for n in nodes] # List 1
household_dict = {}
household_dict[node[0]]=node[2]
为什么它不能工作?问题是我的代码没有把每一行分开到不同的列中。下面是csv文件的结构。
CSV文件(只有一列)。
Id,Label,Household,Producer,Surplus(剩余)
0,Klant1,2,Ja,1 1,Klant2,2,Nee,0 2,Klant3,4,Nee,0
我不想深入研究你从文件中提取的节点。不过,请看下面解析csv的一般语法。你可以根据你的目的很容易地调整它。
with open('filePath\\fileName.csv', mode='r') as csv_file:
csv_reader = csv.DictReader(csv_file)
line_count = 0
for row in csv_reader:
if line_count == 0:
print(f'Column names are {", ".join(row)}')
line_count += 1
print(f'\tID: {row["Id"]}, Label: {row["Label"]}, Household: {row["Household"]}, Producer: {row["Producer"]}, Surplus: {row["Surplus"]}')
line_count += 1
print(f'Processed {line_count} lines.')