Python 从.txt文件中读取列

Python 从.txt文件中读取列,python,file-io,numpy,matplotlib,bioinformatics,Python,File Io,Numpy,Matplotlib,Bioinformatics,我有两个数据集,其中包含4.txt文件,每个文件有9列。我的任务是制作一个非常简单的条形图,它将显示两个数据集中每个文件的第6列和第7列之间的比较。我当然会接受cols 1、2和3作为默认值。我用python编写了一些代码,但在读取多个文件然后选择列时遇到了困难。我的代码如下: # This script will plot the comparison between the BodyMap Gencode & BodyMap RefSeq paired end data.

我有两个数据集,其中包含4.txt文件,每个文件有9列。我的任务是制作一个非常简单的条形图,它将显示两个数据集中每个文件的第6列和第7列之间的比较。我当然会接受cols 1、2和3作为默认值。我用python编写了一些代码,但在读取多个文件然后选择列时遇到了困难。我的代码如下:

    # This script will plot the comparison between the BodyMap Gencode & BodyMap RefSeq paired end data.

import matplotlib.pyplot as plt
import numpy as np


#Reading in the files

with open("Illumina_Heart_Gencode_Aligned_Novel_Junctions.txt") as f:
        data = f.read()

data = data.split('\n')

x = [row.split(' ')[0] for row in data]
y = [row.split(' ')[1] for row in data]

fig = plt.figure()

ax1 = fig.add_subplot(111)

ax1.set_title("BodyMap Gencode Vs. RefSeq")
ax1.set_xlabel("Novel & Splice Junctions")
ax1.set_ylabel("Something")

ax1.plot(x,y, c='r', label='the data')

leg = ax1.legend()

plt.show()
我想就如何向前迈进提出一些建议

谢谢你抽出时间

这就是我的数据

文件1:

    chr1    1718493 1718764 2   2   0   12  0   24
chr1    8928117 8930883 2   2   0   56  0   24
chr1    8930943 8931949 2   2   0   48  0   25
chr1    9616316 9627341 1   1   0   12  0   24
chr1    10166642    10167279    1   1   0   31  1   24
chr1    10338187    10342379    1   1   0   11  0   23
chr1    12040542    12042030    1   1   0   61  0   25
chr1    12395885    12401839    1   1   0   33  0   24
chr1    13814327    13815190    1   1   0   16  0   23
chr1    13815294    13815911    1   1   0   17  0   21
chr1    15978391    15986331    1   1   0   12  0   22
chr1    20386186    20411313    1   1   0   11  0   22
chr1    20412721    20417060    1   1   0   50  0   25
chr1    22159100    22159367    2   2   0   62  0   19
chr1    22159386    22159760    2   2   0   15  0   19
chr1    22192303    22195377    2   2   0   18  0   25
chr1    22196157    22196705    2   2   0   20  0   25
chr1    22197366    22198678    2   2   0   12  0   23
chr1    22217188    22220081    2   2   0   12  0   23
chr1    29064851    29095440    1   1   0   15  0   17
chr1    29391671    29395244    1   1   0   14  0   23
chr1    31833678    31840239    2   2   0   191 1   25
chr1    31840300    31842231    2   2   0   20  0   23
chr1    31840342    31845788    2   2   0   18  0   23
chr1    32051087    32052310    1   1   0   11  0   25
chr1    33800961    33815197    2   2   0   14  0   21
chr1    36766686    36767156    1   1   0   45  0   24
chr1    46379552    46383010    1   1   0   22  0   20
文件2:

    chr1    880181  880421  2   2   0   15  0   21
chr1    1718493 1718764 2   2   0   12  0   24
chr1    8568735 8585817 2   2   0   12  0   21
chr1    8617583 8684368 2   2   0   14  0   23
chr1    8928117 8930883 2   2   0   56  0   24
chr1    8930943 8931949 2   2   0   48  0   25
chr1    9616316 9627341 1   1   0   12  0   24
chr1    9982417 9991948 2   2   0   18  0   23
chr1    10002841    10003306    2   2   0   17  0   20
chr1    10002841    10003406    2   2   0   21  0   25
chr1    10166642    10167279    1   1   0   31  1   24
chr1    10167433    10177516    1   1   0   96  0   24
chr1    10338187    10339154    1   1   0   29  0   23
chr1    10338187    10342379    1   1   0   11  0   23

我想比较两个文件中的第6列和第7列,在我的数据集中有多个这样的文件

numpy.loadtxt当然可以节省大量代码行,但只有在没有缺失值(例如不完整的行)的情况下才可以这样做。如果是这种情况,那么手动方法(如您所做的)是最好的。

您的文件怎么样?你试过像打开csv文件一样打开它吗?“读取多个文件,然后选择列”有什么问题?您可能想看看pandas()。是的-不幸的是,这是另一个功能丰富的大型库,阅读文档需要一些时间。但是如果您熟悉R,您将非常希望在python中使用数据帧。这是熊猫会免费送给你的东西之一。它还附带了一个read_table命令,该命令提供了一种非常灵活的方式来导入表格数据。@Llopis:我可以打开包含数据的.txt文件,但是,我不确定如何在代码中指定特定列的选择。txt文件包含多达9列数据,我对选择第6列和第7列感兴趣。