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