我有一个包含 1000 行的 .bed 文件,每行中的单词由制表符 (\t) 分隔。如果我们将每个单词视为一列,则每行有 12 列。我需要一种方法将这个 .bed 文件转换为矩阵,以便我可以轻松访问它的列。例如,我需要访问列号 12。有什么办法可以做到吗?
我已经尝试过这个:
import numpy as np
data = np.genfromtxt("myFile.bed")
Run Code Online (Sandbox Code Playgroud)
但它不能正常工作。任何人都可以帮助我吗?
BED 文件是标准的制表符分隔的文本文件。Tu 通常将其内容存储在内存中的方法是:
content = []
with open("myFile.bed")as f:
for line in f:
content.append(line.strip().split())
Run Code Online (Sandbox Code Playgroud)
您可以在此处使用 numpy 数组而不是列表,也可以np.asarray根据需要转换结果。
实际上很少需要矩阵,因为它们代表(基因组?)间隔并且通常非常大。大多数情况下,您在循环中的每一行修改/读取/执行某个函数:
with open("myFile.bed")as f:
for line in f:
L = line.strip().split()
# ... do something with L
Run Code Online (Sandbox Code Playgroud)
否则,Pandas库会像在 R 中一样实现“数据帧”(但我从未使用过它)。
| 归档时间: |
|
| 查看次数: |
7753 次 |
| 最近记录: |