Python txt文件中的只读第一列
我有一个简单的txt文件,可能有6列和10000行。如何只读第一列并将其保存在某个数组中 我尝试的每一个解决方案都不起作用 我用八度音很简单Python txt文件中的只读第一列,python,Python,我有一个简单的txt文件,可能有6列和10000行。如何只读第一列并将其保存在某个数组中 我尝试的每一个解决方案都不起作用 我用八度音很简单 data = load("sample.txt") first_column = data(:,1) 编辑:我忘记了metion,我必须跳过一行行字符串。 我的文件是这样开始的: ib*ns平均E/mK平均Ek/mK平均Ep/mK步行者 -------- ------------ --- ------------ --- ------------
data = load("sample.txt")
first_column = data(:,1)
编辑:我忘记了metion,我必须跳过一行行字符串。
我的文件是这样开始的:
ib*ns平均E/mK平均Ek/mK平均Ep/mK步行者
-------- ------------ --- ------------ --- ------------ --- --------
如果您有一个
CSV
文件,那么我建议使用
一般来说,解决方案如下:
DELIMITER = ' '
data = []
with open('test.txt') as fr:
for line in fr:
first_col = line.split('{}'.format(DELIMITER))[0]
data.append(first_col)
lines = csv.reader(open('test.txt', 'rb'), delimiter=DELIMITER)
您可以用所需的任何内容(空格、制表符等)替换分隔符
或者,正如@cricket_007所说,使用Python csv模块。比如:
DELIMITER = ' '
data = []
with open('test.txt') as fr:
for line in fr:
first_col = line.split('{}'.format(DELIMITER))[0]
data.append(first_col)
lines = csv.reader(open('test.txt', 'rb'), delimiter=DELIMITER)
如果列之间的分隔符是选项卡,则以下代码有效。否则,调整分离器的位置
import pandas as pd
df = pd.read_csv('sample.txt', header=None, usecols=[1], sep='\t')
请注意,尽管read_csv声称它可以读取csv,但它可以读取具有一致分隔符的任何文本文件。内置的
csv
模块提供以下功能:
import csv
with open('data.dat', 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=' ')
first_column = [ row[0] for row in reader ]
这段代码根据要求将第一列提取到列表中。Pandas library将是最接近Octave/Matlab的替代方法。这些列是如何分隔的?不是Python,但速度非常快:
cut-d,-f1
我忘了提到,我得到了前两行,其中有一些文本,我将不得不跳过它。然后,根据分隔符和字段类型的不同,导入csv模块时,只需在用tab分隔的列和行中输入整数就更安全了