[英]Read only first column from txt file
我有可能有6列和10000行的簡單txt文件。 我如何只讀取第一列並將其保存在某個數組中?
我嘗試過的每個解決方案都沒有用。
我用八度很簡單地管理它,
data = load("sample.txt")
first_column = data(:,1)
編輯:我忘了提及,我不得不跳過我需要跳過的字符串行。 我的文件開始如下:
2000 -89.4010789 736.581586 -825.982664 4988
4000 -86.8499373 707.358765 -794.208703 4952
6000 -87.3911178 680.584591 -767.975709 4968
如果您有CSV
文件,則建議使用pandas 。
通常,解決方案是這樣的:
DELIMITER = ' '
data = []
with open('test.txt') as fr:
for line in fr:
first_col = line.split('{}'.format(DELIMITER))[0]
data.append(first_col)
您可以將DELIMITER
替換為所需的任何內容(空格,制表符等)
或者,如@ cricket_007所說,使用Python csv模塊。 就像是:
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 ]
此代碼根據請求將第一列提取到列表中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.