我有一个用五个不同的列逗号分隔的文本文件,但我只想取回第一列和第四列。
当我使用split
函数时,它只是拆分所有内容而我不知道如何获取它以便它只取第一列然后跳到第四列。
这是我尝试组织的数据示例:
11.332,2,2,-465,0.928621379033569
我希望从中获得11.332
和-465
并忘记其余内容
答案 0 :(得分:1)
有几种方法可以做到。
您的问题标有csv
。您可以使用csv
模块解析CSV数据:
import csv
with open('file.csv') as f:
for row in csv.reader(f):
print(row[0]) # the first field
print(row[3]) # the third field
对于您的样本数据,将打印:
11.332 -465
csv.reader()
可能是最好的方法,但是,另一种方法是使用_
的元组解包来表示忽略的字段:
line = '11.332,2,2,-465,0.928621379033569'
first, _, _, fourth, _ = line.split(',')
print(first)
print(fourth)
# 11.332
# -465
当然没有什么可以阻止你将所有字段绑定到变量,只需用有意义的变量名替换_
。
或者,您可以拆分整行,然后通过下标来删除所需的字段:
line = '11.332,2,2,-465,0.928621379033569'
data = '11.332,2,2,-465,0.928621379033569'.split(',')
print(data[0])
print(data[3])
# 11.332
# -465
或者您可以使用operator.itemgetter
(与元组解包相结合):
from operator import itemgetter
fields = itemgetter(0, 3)
first, fourth = fields(line.split(','))
print first
print fourth
# 11.332
# -465
答案 1 :(得分:0)
我设法弄清楚了
for line in eda:
print (line.split(',')[0])
print (line.split(',')[3])
这让我得出了我需要的两个结果,而忘记了其余的结果