在python上读取txt文件的列

时间:2019-02-17 11:27:23

标签: python text

我正在使用。 txt文件。它具有100行和5列。我需要将其分为五个长度为100的向量,每列一个。我正在尝试遵循此规则:Reading specific columns from a text file in python

但是,当我将其实现为:

token = open('token_data.txt','r')
linestoken=token.readlines()
resulttoken=[]
for x in linestoken:
    resulttoken.append(x.split(' ')[1])
token.close()

我不知道这个存储得很热。如果我写print('resulttoken'),屏幕上就会出现注释。

有人可以告诉我我在做什么错吗?

谢谢。 part of my text file

4 个答案:

答案 0 :(得分:1)

x.split(' ')没什么用,因为文本文件的各列用多个空格隔开。使用x.split()忽略空格:

token = open('token_data.txt','r')
linestoken=token.readlines()
tokens_column_number = 1
resulttoken=[]
for x in linestoken:
    resulttoken.append(x.split()[tokens_column_number])
token.close()
print(resulttoken)

答案 1 :(得分:1)

好吧,该文件看起来像是按表而不是空间进行拆分,因此请尝试以下操作:

token = open('token_data.txt','r')
linestoken=token.readlines()
tokens_column_number = 1 resulttoken=[] for x in linestoken:
    resulttoken.append(x.split('\t'))
token.close()
print(resulttoken)

答案 2 :(得分:0)

您需要一个包含五个不同列表的列表,然后依次追加到每个列表中。

columns = [[]] * 5
with open('token_data.txt','r') as token:
    for line in token:
        for field, value in enumerate(line.split()):
             columns[field].append(value)

现在,您将在columns[0][0]的第一行找到第一个值,在columns[1][0]的第一行找到第二个值,在columns[0][1]的第二行找到第一个值,等

要显示变量的值,请不要在变量两边加上引号。引号创建文字字符串。

print(columns[0][0])

打印columns[0][0]的值,而

print('columns[0][0]')

仅打印文字文本“ columns [0] [0]”。

答案 3 :(得分:0)

您可以使用data_py包以FORTRAN样式读取按列的数据。 使用

安装此软件包
pip install data-py

用法示例

from data_py import datafile
NoOfLines=0   
lineNumber=2  # Line number to read (Excluding lines starting with '#')
df1=datafile("C:/Folder/SubFolder/data-file-name.txt")
df1.separator=","  # No need to specify if separator is space(" ") and for 'tab' separated values use '\t'
NoOfLines=df1.lines  # Total number of lines in the data file (Excluding lines starting with '#')
[Col1,Col2,Col3,Col4,Col5]=["","","","",""]  # Initial values
[Col1,Col2,Col3,Col4,Col5]=df1.read([Col1,Col2,Col3,Col4,Col5)],lineNumber)
print(Col1,Col2,Col3,Col4,Col5)  # In str format

有关详细信息,请访问链接https://www.respt.in/p/python-package-datapy.html