首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >替换文件中某行的一部分

替换文件中某行的一部分
EN

Stack Overflow用户
提问于 2017-03-02 22:34:11
回答 1查看 34关注 0票数 0

我有一个在.txt文件中编码的有向图(大约24k行)。每一行的格式都是sourceNode:destinationNode:edgeWeight

我需要将一些节点折叠成超级节点。我有一个字典,其中每个元素都是"superNodeName : listOfnodeNamesToCollapseIntoThisSupernode"的形式(字典有10个元素)。我认为“修改”图形的最好方法是处理.txt文件。

如何将文件中每次出现的要折叠的节点名称替换为超级节点名称?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-02 23:56:51

代码语言:javascript
运行
复制
# Your super node dictionnary
super_node = {'name': [...]}

new_text = ''

# Open your txt file
with open('test.txt') as f:
    for line in f.readlines():
        # Split each line
        splitted = line.split(':')

        for n, n_list in super_node.items():
            if splitted[0] in n_list:  # Source is in super node
                splitted[0] = n  # Replace node name
            if splitted[1] in n_list:  # Destination is in super node
                splitted[1] = n  # Replace node name

        # Add to new text
        new_text += '{0}\n'.format(':'.join(splitted))

# Write text file
with open('text.txt', 'w') as f:
    f.write(new_text)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42558215

复制
相关文章

相似问题

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