python-3.x - 打开压缩文件,三个管道(“|||”)后面的字符不可见
问题描述
我的输入文件是一个包含基因组信息的压缩文件。我正在尝试逐行解析内容并遇到了一个奇怪的问题。
任何给定的行看起来像这样:
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|||
“|||”之后的任何信息 已被截断。
此外,我什至无法搜索“|||”后面的字符串 (例如"VT=SNP" in line
总是返回 False)我也不能line.strip("|||")
关于是什么原因或我需要查看什么的任何建议?
感谢您的任何帮助
编辑:好的,看起来 gzip 文件有问题。我解压缩它,脚本运行良好。然后我重新压缩它,脚本再次运行良好(使用 gzip.open)。是否有任何直接的方法来比较两个压缩文件(即,一个没有被正确读取的文件与一个工作的文件),以便我可以得到根本原因的提示?
解决方案
推荐阅读
- python - 本地导入自定义函数时未定义 pd
- cassandra - 如何解决 Cassandra 中的问题“ConfigurationException:列族 ID 不匹配”
- javascript - 为什么不将 URL 放在状态数组中?
- javascript - Javascript 检查数字是否为 0, 0.0,0.0000
- ansible - 如何重用我编写的 ansible 角色?
- javascript - JavaScript localStorage - 来自多个用户卡的文本输入
- flutter - Flutter:运行“flutter pub get”没有任何反应
- jira - Reportportal 到 JIRA 集成失败并出现错误:无法与外部系统交互
- google-app-engine - 如何保护 App Engine 和 GKE 上的后端 REST API 免受滥用?
- if-statement - 如何将多个单元格合并为 1 个。我正在为我的团队创建一个佣金排行榜,我希望它将他们的所有佣金汇集到一个