python - 如何在 Python 中删除 \n 换行符?
问题描述
我想比较 23andme 的一些基因组序列原始数据,并为此使用 Python。
我已经像这样导入了我的数据:
import pandas as pd
import os
sample_1 = pd.read_csv('sample_1.txt', delimiter ='\t', dtype={"rsid": str, "chromosome": str, "position": int, "genotype": str})
sample_2 = pd.read_csv('sample_2_new.txt', delimiter ='\t', dtype={"rsid": str, "chromosome": str, "position": int, "genotype": str})
现在,我只想保护 Y 染色体,以便稍后进行 BLAST 比较。所以我需要我的数据框一列的字符串条目作为这样的连续字符串"AATTGCTT..."
。
y_1 = sample_1.loc[sample_5['chromosome'] == "Y"]
y_1_blast = y_1.to_string(columns = ["genotype"], header=False, index=False, index_names=False)
由于'\n'
也包含输出,我尝试通过以下方式删除分隔符:
y_1_blast.rstrip()
但这不起作用。我也得到了整个输出,' ... '
这让我想知道这是否是问题所在。
解决方案
是的 !如果输出真的是一个连续的字符串,你可以选择正则表达式替换 startegy。
import re
# TEST DATA #
y_1_blast = "\nATCG\nATCT\nGAGC\nATGAG\nACGACGTG"
y_1_blast = re.sub('\n', '', y_1_blast)
'ATCGATCTGAGCATGAGACGACGTG'
甚至更安全(即删除除任何 ATGC 字母之外的所有字母)
import re
# TEST DATA #
y_1_blast = "..\nATC.G ATCT\n\nGA..GC ATG_AG\nAC_GA _CGTG.."
y_1_blast = re.sub("[^ATGC]","",y_1_blast)
'ATCGATCTGAGCATGAGACGACGTG'
推荐阅读
- database - 用于用户统计的数据库设计?
- android - 无法理解这个内核函数和android内核命令行
- javascript - JavaScript 输入阿拉伯字母验证
- reactjs - 如果我使用 getItemLayout,FlatList 水平 onViewableItemsChanged 不会触发
- hadoop - Windows 中的 Nutch 1.14 给出异常 java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
- python-3.x - 将数据导入 SQL DB 时无法识别参数
- java - 如何在 Spring Security 中获取 userInformation?
- python - 从 model.ckpt.meta 中提取图 def
- caffe - 检查失败:top_shape[j] == bottom[i]->shape(j): for Concat layer in 3D data
- go - 在 Go 中请求重新路由,映射 HandleFuncs