我的输入文件是包含基因组信息的gzip压缩文件。我试图逐行解析内容并遇到一个奇怪的问题。
任何给定的行看起来像这样:
AC = 26; AF = 0.00519169; AN = 5008; NS = 2504; DP = 17308; EAS_AF = 0; AMR_AF = 0.0072; AFR_AF = 0.0015; EUR_AF = 0.0109; SAS_AF = 0.0082; AA = A |||; VT = SNP
然而,当我打印出正在阅读的内容时......
import gzip
with gzip.open(myfile.gz, 'rt') as f:
for line in f:
print(line)
这条线看起来像这样:
AC = 26; AF = 0.00519169; AN = 5008; NS = 2504; DP = 17308; EAS_AF = 0; AMR_AF = 0.0072; AFR_AF = 0.0015; EUR_AF = 0.0109; SAS_AF = 0.0082; AA = A ||| < / p>
&#34; |||&#34;之后的信息是什么?被截断了。
此外,我甚至无法搜索&#34; |||&#34;之后的字符串。 (例如"VT=SNP" in line
总是返回False)我也可以line.strip("|||")
有关导致此问题或需要查看的内容的任何建议?
感谢您的帮助
编辑:好的,看起来gzip文件有问题。我解压缩它,脚本运行正常。然后我重新压缩它,脚本再次运行正常(使用gzip.open)。是否有任何简单的方法来比较两个压缩文件(即,没有正确读取的文件与有效文件相比),以便我可以得到根本原因的提示?