为了账号安全,请及时绑定邮箱和手机立即绑定

对python中BED /间隔文件中的每一行进行相同的更改

对python中BED /间隔文件中的每一行进行相同的更改

翻阅古今 2021-03-29 15:11:18
我有一个试图使用Galaxy在线工具使用的BED间隔文件。当前,文件中的每一行都以一个数字开头(代表染色体编号)。为了正确上载它,我需要每一行以“ chr”开头,然后以数字开头。因此,例如以“ 2L”开头的行,我需要进行更改,以使它们以“ chr2L”开头,并对以数字开头的其他所有行都执行同样的操作(不仅是2L,还有许多不同的数字)。我在想是否可以在每行的开头添加一个“ chr”而不影响其他列,那太好了,但是我不知道该怎么做(python的新手)请您帮我一下出去?
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

第一步打开文件


  file = open("somefile.txt")

步骤2


  lines = list(file.readlines())

  file.close()

第3步:使用列表理解


   new_lines = ["chr"+line for line in lines]

步骤4将新行写回文件


   with open("somefile.txt","w") as f:

       f.writelines(new_lines)

为了不将所有行存储在内存中


   file1 = open("some.txt")

   file2 = open("output.txt","w")


   for line in file1:

       print >> file2, "chr"+ line


   file1.close()

   file2.close()

然后只需复制output.txt到您的原始文件名


查看完整回答
反对 回复 2021-04-02
  • 2 回答
  • 0 关注
  • 216 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号