Python中如何导出igraph文件?调用write_gml报TypeError如何解决?
报错原因
你调用write_gml方法的方式不符合要求:该方法是Graph类的实例方法,必须作用在已经实例化的图对象上。你代码中直接调用类ig.Graph的write_gml方法,仅传入了字符串格式的文件路径,方法预期的第一个参数应为Graph实例,因此触发类型错误。
修复方案
将代码最后一行的导出语句替换为以下任意一种写法即可:
- 更简洁直观的写法(推荐):用你已经创建好的图实例
g调用导出方法g.write_gml('test.gml') - 兼容类方法调用逻辑的写法:显式将图实例作为第一个参数传入
ig.Graph.write_gml(g, 'test.gml')
修正后完整代码
import igraph as ig import pandas as pd a = pd.DataFrame(Matrix, index=tags, columns=tags) # 获取邻接矩阵数值 A = a.values # 基于邻接矩阵创建图 g = ig.Graph.Adjacency((A > 0).tolist()) # 添加边权重和节点标签 g.es['weight'] = A[A.nonzero()] g.vs['label'] = tags # 导出为gml文件 g.write_gml('test.gml')
内容的提问来源于stack exchange,提问作者user12217822
相关产品推荐
相关产品推荐

