首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >字符串操作和根据行添加值--它们是

字符串操作和根据行添加值--它们是
EN

Stack Overflow用户
提问于 2016-12-18 23:15:08
回答 3查看 117关注 0票数 0

我有一个文件文本分隔的文件,我试图使每一行二进制组合,并给出每对的行数。

下面是一个示例(如果您想要https://gist.github.com/anonymous/4107418c63b88c6da44281a8ae7a321f,也可以在这里下载)

代码语言:javascript
复制
"A,B     "
"AFD,DNGS,SGDH   "
"NHYG,QHD,lkd,uyete"
"AFD,TTT"     

我想要这样

代码语言:javascript
复制
A_1     B_1
AFD_2   DNGS_2
AFD_2   SGDH_2
DNGS_2  SGDH_2
NHYG_3  QHD_3
NHYG_3  lkd_3
NHYG_3  uyete_3
QHD_3   lkd_3
QHD_3   uyete_3
lkd_3   uyete_3
AFD_4   TTT_4

这意味着,A_1和B_1来自第一行,AFD_2和DNGS_2来自第二行,等等。

我已经试过了,但我想不出来

代码语言:javascript
复制
#!/usr/bin/python
import itertools
# make my output
out = {}
# give a name to my data 
file_name = 'data.txt'
# read all the lines 
for n, line in enumerate(open(file_name).readlines()):
    # split each line by comma
    item1 = line.split('\t')
    # split each stirg from another one by a comma
    item2 = item1.split(',')
    # iterate over all combinations of 2 strings
    for i in itertools.combinations(item2,2):
        # save the data into out 
        out.write('\t'.join(i))

输出答案1

代码语言:javascript
复制
"A_1,   B     "_1
"AFD_2, DNGS_2
"AFD_2, SGDH   "_2
DNGS_2, SGDH   "_2
"NHYG_3,    QHD_3
"NHYG_3,    lkd_3
"NHYG_3,    uyete"_3
QHD_3,  lkd_3
QHD_3,  uyete"_3
lkd_3,  uyete"_3
"AFD_4, TTT"_4  

答案2

代码语言:javascript
复制
"A_1    B     "_1
"AFD_2  DNGS_2
"AFD_2  SGDH   "_2
DNGS_2  SGDH   "_2
"NHYG_3 QHD_3
"NHYG_3 lkd_3
"NHYG_3 uyete"_3
QHD_3   lkd_3
QHD_3   uyete"_3
lkd_3   uyete"_3
"AFD_4  TTT"_4
EN

Stack Overflow用户

发布于 2016-12-19 00:13:21

类似于提供的另一个答案,并补充说,根据注释,它看起来实际上希望写入一个标签分隔的文本文件,而不是字典。

代码语言:javascript
复制
#!/usr/bin/python
import itertools

file_name = 'data.txt'
out_file = 'out.txt'

with open(file_name) as infile, open(out_file, "w") as out:
  for n,line in enumerate(infile):
    row = [i + "_" + str(n+1) for i in line.strip().split(",")]
    for i in itertools.combinations(row,2):
      out.write('\t'.join(i) + '\n')
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41213905

复制
相关文章

相似问题

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