我是Python新手,一直在关注我在网上找到的关于解决中国邮递员问题的教程。
我上传了所需的CSV文件,但每当我试图定义用于打印的节点位置数据结构时,它总是说“KeyError:'X”“”,这是我的CSV文件的标题之一
一位朋友告诉我,可能的问题是CSV文件中有空格,但我不确定如何解决这个问题。
我试过使用在线教程中的文件,效果很好,所以我不确定我做错了什么。
ID, X, Y
'rep1', 1, 1811
etc..
是打印(df)运行时得到的输出类型
我也试过使用delimeter,但我可能做错了。
import itertools
import copy
import networkx as nx
import pandas as pd
import matplotlib.pyplot as plt
df1 = pd.read_csv("U:\directory\edge_list_3.csv")
df1=df1.dropna()
print(df1)
#add the r before the directory for it to be read
import pandas as pd
df = pd.read_csv(r"U:\\directory\nodes.csv")
df=df.dropna()
print(df)
##trial no 2, attempting to clear the white spaces
df=pd.read_csv(r'U:\\directory\nodes.csv', delim_whitespace=True)
data= pd.read_csv(r'U:\\directory\nodes.csv, error_bad_lines=False)
df=pd.read_csv(r'U:\\directory\nodes.csv', delimeter=' ')
#############################
#creating an empty graph
g= nx.Graph()
df1_dict = df1.to_dict()
#display
df1_dict
###########Return the copied line here###
import networkx as nx
g=nx.Graph()
for i, elrow in df1.iterrows():
g.add_edge(elrow[0], elrow[1], **elrow[2:].to_dict())
print('\n')
#edge list check
print(elrow[0])
print('\n')
print(elrow[1])
print(elrow[2:].to_dict())
################################
#node to a dict
df_dict=df.to_dict()
#Adding the node attributes
for i, nlrow in df.iterrows():
nx.set_node_attributes(g, {nlrow['ID']: nlrow[1:].to_dict()})
#Node list
print(nlrow)
#preview of the first 5 edges
list(g.edges(data=True))[0:5]
#same for nodes
list(g.nodes(data=True))[0:10]
print('no of edges: {}'.format(g.number_of_edges()))
print('no of nodes: {}'.format(g.number_of_nodes()))
#Problematic line
# Define node positions data structure (dict) for plotting
node_positions = {node[0]: (node[1]['X'], -node[1]['Y']) for node in g.nodes(data=True)}
File "<ipython-input-22-3dbf80b62cb7>", line 19
df=pd.read_csv(\\r'U:\\GE90\\nodes.csv', delim_whitespace=True)
^
SyntaxError: unexpected character after line continuation character
#如果我去掉分隔线:
KeyError Traceback (most recent call last)
<ipython-input-23-38d6675d5393> in <module>
79
80 # Define node positions data structure (dict) for plotting
---> 81 node_positions = {node[0]: (node[1]['X'], -node[1]['Y']) for node in g.nodes(data=True)}
82
83 # Preview of node_positions .
<ipython-input-23-38d6675d5393> in <dictcomp>(.0)
79
80 # Define node positions data structure (dict) for plotting
---> 81 node_positions = {node[0]: (node[1]['X'], -node[1]['Y']) for node in g.nodes(data=True)}
82
83 # Preview of node_positions .
KeyError: 'X'
#this is what I got:
ID rep1
X 1 Y 1811名称: 0, dtype:对象ID rep2 X 2 Y 1811名称: 1, dtype:对象ID rep4 X 4 Y 1135名称: 2, dtype:对象ID rep5 X 5 Y 420名称: 3, dtype:对象ID rep7 X 7 Y 885名称: 4, dtype:对象ID rep8 X 8 Y 1010名称: 5, dtype:对象ID rep10 X 10 Y 1010名称: 6, dtype:对象ID rep12 X 12 Y 1135名称: 7, dtype:对象ID rep13 X 13 Y 1135名称: 8, dtype:对象ID rep16 X 16 Y 885名称: 9, dtype:对象ID rep17 X 17 Y 1135名称: 10, dtype:对象ID rep19 X 19 Y 1000名称: 11, dtype:对象ID rep26 X 26 Y 850名称: 12, dtype:对象ID rep27 X27 Y 885名称: 13, dtype:对象边缘号: 38节点号: 16 ID X Y 0 rep1 1 1811 1 rep2 2 1811 2 rep4 4 1135 3 rep5 420 4 rep7 885 5 rep8 1010 6 rep<--plhd--012 12 1135 8代表13 13 1135 916 16 885 10代表17 17 1135 1119 19 1000 12代表26 26 850 13
您的示例文件是否与您输入的完全相同?一段时间。csv文件I(以及Python csv库)的结构更像这样:
ID, X, Y
'rep1', 1, 1811
'rep2', 2, 420
etc....
这就解释了为什么你的钥匙不符合预期。
我使用Jmeter和Selenium Webdriver采样器 代码CSV配置 我的问题是它没有从CSV中挑选。以上两行生成结果“loginName”,而不是从文件中选择实际的登录名。我用过单引号、双引号等,但运气不佳。使用${loginName}会产生错误。知道什么地方出了问题,如何解决吗?
我是R的新手,想读一个csv文件。但是当我试图阅读它时,我遇到了错误。我的csv文件如下: 当我在RStudio中使用此命令时,我得到了错误:命令: 错误: 读取时出错。表(file=file,header=header,sep=sep,quote=quote,:不允许重复的“row.names” 我还尝试删除错误并使用此命令: 但是当我查看输出时,它不能保持方阵的结构。你能帮我做什么吗?
您好,我在读取每行包含3列的csv文件时遇到问题。我似乎无法将最后一个单元格(3)解析为整数,即使它始终是一个“可解析”字符串:Berlin,Buenos Aires,7402我似乎无法得到7402编译器抛出的所有结果是: “在java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68
我试图读取CSV文件,但它抛出了一个错误。我无法理解我的语法有什么问题,或者我是否需要向我的read_csv添加更多属性。 我试了一下这个解决办法 UnicodeDecodeError:“utf-8”编解码器无法解码位置21中的字节0x96:起始字节也无效。但它不起作用 [错误] UnicodeDecodeError回溯(最近一次调用)pandas/_libs/解析器。大熊猫中的pyx_图书馆。解
我在从CSV文件读取数据以将值传递给请求时遇到问题。我有一个csv与3列用户id,密码和类型。当为username字段传递数据时,它采用3列的值,而不仅仅是username Jmeter version: 5.0 CSV 文件值: