excel出现中文乱码的解决教程-英雄云拓展知识分享
411
2024-01-22
python在这里。我有一个看起来像这样的文件(每一个字段都是分开的):
chr1_1792868_SNP Bcin01g04980 NON_SYNONYMOUS NON_SYNONYMOUS[T](gene:Bcin01g04980|transcript:Bcin01g04980.1|P->S:225) ...chr1_1792869_SNP Bcin01g04980 NON_SYNONYMOUS NON_SYNONYMOUS[T](gene:Bcin01g04980|transcript:Bcin01g04980.1|P->L:225) ...
chr2_19719_SNP Bcin02g00005 SYNONYMOUS SYNONYMOUS[A](gene:Bcin02g00005|transcript:Bcin02g00005.1) ...
chr2_19811_SNP Bcin02g00005 SYNONYMOUS SYNONYMOUS[A](gene:Bcin02g00005|transcript:Bcin02g00005.1) ...

chr2_20024_SNP Bcin02g00005 NON_SYNONYMOUS NON_SYNONYMOUS[C](gene:Bcin02g00005|transcript:Bcin02g00005.1|S->A:331)
chr2_20025_SNP Bcin02g00005 SYNONYMOUS SYNONYMOUS[A](gene:Bcin02g00005|transcript:Bcin02g00005.1)
我想解析文件并一次比较2行,并比较它们之间的值。
因此,这种情况下,在这类情况下,我想比较第1和2行,检查每一个第3字段中是不是存在“同义词”。如果是的,我会做一些事情,如果没有(这类情况),我将继续前进第3行(此时,这两个“同义”值的比较是正面的),并且我会选择该行的第一个值做更多的事情(与另外一个字典相比)。
我斟酌过这样的事情:
with open ('file.txt') as mutmut_mutants:for line1 in mutmut_mutants:
line2 = next(mutmut_mutants)
print type(line1)
print line2+ "line2"
但是问题在于我正在处理字符串线而不是列表元素(在大列表中的行/元素上)。处理列表仿佛比字符串/正则表达式更容易。然后,我想到了:
with open ('file.txt') as mutmut_mutants:for i in csv.reader(mutmut_mutants, delimiter='\t'):
for k,(l1, l2) in enumerate(zip(i[0::2], i[1::2])):
print str(zip(i[0::2], i[1::2]))
但是我没法使它起作用(而且我没有得到zip和i [0 :: 2]非常清楚)。我要做的是:将行2 x 2比较,如果两行中的同义词都取得了每行的第一字符串(CHRX_XXXXX_SNP)。
有甚么想法,我应当如何继续吗?
我认为您正在寻觅的是字符串的拆分方法。像您在第一个代码示例中一样循环阅读文件,然后在选项卡上拆分每行:
ls = []with open ('file.txt') as mutmut_mutants:
for line1 in mutmut_mutants:
fields = line1.split('\t')
ls.append(fields)
将字符串在选项卡上拆分将为您提供由标签分隔的每一个字段的列表。然后,您可以针对需要将其附加到列表中并进行处理。因此,这种情况下,举例来看,要访问第4行的第3字段 ls[3][2]
。希望这可以帮助。
免责声明:
本网址(www.yingxiongyun.com)发布的材料主要源于独立创作和网友匿名投稿。此处提供的所有信息仅供参考之用。我们致力于提供准确且可信的信息,但不对材料的完整性或真实性作出任何保证。用户应自行验证相关信息的正确性,并对其决策承担全部责任。对于由于信息的错误、不准确或遗漏所造成的任何损失,本网址不承担任何法律责任。本网站所展示的所有内容,如文字、图像、标志、音频、视频、软件和程序等的版权均属于原创作者。如果任何组织或个人认为网站内容可能侵犯其知识产权,或包含不准确之处,请即刻联系我们进行相应处理。
发表评论
暂时没有评论,来抢沙发吧~