我正在mac上工作,更喜欢用Bash、R或Python3重新格式化。你知道吗
下面是我正在使用的表的一个小示例。该表有数千行长,每行的列数可变。另外,这个例子包含12个逗号分隔的值,从Isofrorm\开始,但是为了可读性,我把它减少到了4。你知道吗
ENSMUSG0000001234 2.0 Isoform1_0.9,0.0,0.6,1.3 Isoform2_0.1,0.0,0.0,0.5
ENSMUSG0000005555 1.0 Isoform1_0.5,0.1,0.4,1.0 Isoform2_0.7,0.3,0.0,0.1 Isoform3_0.3,9.9,2.0,3.0
我想能够搜索和重新格式化一行感兴趣的以下内容。提取我可以使用的感兴趣的行
grep "ENSMUSG0000001234" ./filename
但我没有足够的经验,知道如何通过位置和各种分隔符提取值,并正确组织输出。我认为python可能是最好的工具,但我是python新手。你知道吗
我需要重新格式化的条目如下所示
0.9 0.0 0.6 1.3
0.1 0.0 0.0 0.5
为清楚起见,行名称和列名如下
IsoformID Cell1 Cell2 Cell3 Cell4
Isoform1 0.9 0.0 0.6 1.3
Isoform2 0.1 0.0 0.0 0.5
非常感谢您的帮助。你知道吗
我看到您首选的解决方案是
Bash
、R
或Python 3
,但这里有一个快速解决您问题的方法,我可以在php
中为您提供。你知道吗您可以将以下脚本保存到文件中,例如:
reformat.php
然后从命令行按以下方式运行它:
脚本逐行读取并处理文件。我使用前两个空格分隔的字段作为块标识符。然后处理行中剩余的字段(
array_slice($data, 2)
)。你知道吗输出:
更新:
我试着用
python
找出如何实现目标。我想出了以下解决办法。你知道吗这将产生如上所示的相同输出。你知道吗
相关问题 更多 >
编程相关推荐