首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从包含单行所有关系的csv文件中获取关系数据?

如何从包含单行所有关系的csv文件中获取关系数据?
EN

Stack Overflow用户
提问于 2019-04-29 18:03:13
回答 2查看 142关注 0票数 1

我想在网络中为植物建立关系图。在我的csv文件中,这些工厂的所有数据都包含在每个工厂的一行中。例如:植物数量,植物名称,伴生植物,拮抗物。现在我想要网络图,其中植物名在中间,并且与所有的伴生植物都有关系(每个伴生植物都是节点,主植物与所有这些伴生植物都有边)。

对苹果来说,数据是这样的:

代码语言:javascript
运行
复制
1,apple,"pearl,strawberry,onion,potato","rose,cabbage,dill"

我知道如何制作图形本身,因为我处理的是不同的旧csv文件,这些文件都有植物,每个同伴都有自己的行,如下所示:

代码语言:javascript
运行
复制
apple,pearl
apple,strawberry
apple,onion
apple,potato

我想知道如何从这个新的csv的边,它有所有的同伴在单行上用逗号隔开。有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-30 13:07:58

您不应该像在另一个问题中所建议的那样,按照','来分割您的CSV行。您在CSV中的变量包含',',因此您将得到不正确的结果。只需使用pandas.read_csv()

代码语言:javascript
运行
复制
df = pd.read_csv('WAKA.csv', header=None)


    0   1       2                               3
0   1   apple   pearl,strawberry,onion,potato   rose,cabbage,dill
1   2   apple1  pearl,strawberry,onion,potato   rose,cabbage,dill

然后通过','迭代行、获取列1、第2列中的拆分字符串,并将其添加到您的networkx图中:

代码语言:javascript
运行
复制
for l in df.iterrows():   # Iterate through dataframe rows
    G.add_edges_from(     # Add edges to graph
        (l[1][1], fruit)  # It is the edge: element from column 1 and splitted fruit
        for fruit in l[1][2].strip('"').split(',')  # Crop '"' and split by ','
    )

那就画出来:

代码语言:javascript
运行
复制
nx.draw(
    G,
    node_size=3500,
    font_size=40,
    labels={n: n for n in G.nodes}
)

票数 1
EN

Stack Overflow用户

发布于 2019-04-29 19:02:19

我对NetworkX不太了解,但您可以将所有信息提取到字典中,并使用它填充NetworkX图。

代码语言:javascript
运行
复制
plants = {}

with open('plant-data.csv') as fd:
    for line in fd:
        plant = line.split(',')

        plant_number = line[0]
        plant_name = line[1]
        plant_companions = line[2]
        plant_antagonists = line[3]

        plants[plant_name] = (plant_number, plant_companions, plant_antagonists)

要获得apple的所有伙伴,您只需访问plants["apple"][1]即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55908620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档