You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python 3打开、可视化及解析.gph格式的图文件

Python3解析与可视化.gph文件的实操方案

.gph后缀的文件通常分为两类,对应不同的处理方式:

情况1:GraphPad Prism生成的科研绘图.gph文件

这类是商业软件专属二进制格式,处理方式如下:

  • 先安装解析库:pip install prism-file-reader
  • 解析代码示例:
from prism_file_reader import PrismFile

# 替换为你的文件路径
prism_file = PrismFile("./data/your_file.gph")

# 提取所有关联的数据表
for table in prism_file.tables:
    print(f"数据表名称:{table.name}")
    # 输出表内原始数据,可直接转成pandas的DataFrame做后续分析
    print(table.data)
  • 如果仅需可视化,可先在GraphPad Prism中把.gph文件关联的数据导出为csv格式,再用matplotlib、seaborn等库自定义绘图。

情况2:存储节点/边结构的通用图数据.gph文件

这类通常是图计算工具导出的结构化文件,可用networkx库直接处理:

  • 先安装依赖:pip install networkx matplotlib
  • 解析代码示例:
import networkx as nx

# 替换为你的文件路径
# 若为gpickle格式的.gph
graph = nx.read_gpickle("./data/your_file.gph")
# 若为纯文本边列表格式的.gph,替换为下方代码
# graph = nx.read_edgelist("./data/your_file.gph")

# 输出图基础信息
print(f"总节点数:{graph.number_of_nodes()}")
print(f"总边数:{graph.number_of_edges()}")

# 遍历输出节点属性
for node_id, node_attrs in graph.nodes(data=True):
    print(f"节点{node_id}属性:{node_attrs}")

# 遍历输出边属性
for from_node, to_node, edge_attrs in graph.edges(data=True):
    print(f"边{from_node}->{to_node}属性:{edge_attrs}")
  • 可视化代码示例:
import matplotlib.pyplot as plt

plt.figure(figsize=(12, 9))
# 选择布局,可选spring、circular、kamada_kawai等
layout_pos = nx.spring_layout(graph, seed=42)

# 绘制元素
nx.draw_networkx_nodes(graph, layout_pos, node_size=250, node_color="#4287f5", alpha=0.8)
nx.draw_networkx_edges(graph, layout_pos, alpha=0.5, edge_color="gray")
nx.draw_networkx_labels(graph, layout_pos, font_size=9)

plt.axis("off")
plt.show()

特殊情况处理

如果上述两种方案都不匹配,可先用纯文本编辑器打开.gph文件查看前10行内容:

  • 若为结构化纯文本,可直接用Python内置的open()函数逐行读取自定义解析
  • 若为二进制格式,可搜索该文件生成工具对应的Python解析库适配。

内容的提问来源于stack exchange,提问作者Shubham_geo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:48:02