gpt4 book ai didi

python - 如何在python中从txt中选择不同的列

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:30 24 4
gpt4 key购买 nike

我想分别打印出我的第一列和其他列(以制表符分隔)。例如,第一次打印使用 Col1+Col2,第二次打印使用 Col1+Col3,依此类推。不过,我用下面的代码只打印了 Col1+Col2 。为什么for循环没有进展?

import csv
with open('/Users/elf/Desktop/TEST_DATA/text_haplo.txt', 'r', encoding="utf-8", errors="ignore") as text_haplo:
next(text_haplo)
for i in range(1, 5):
for line in text_haplo:
line = line.split('\t')
print(line[0], line[i])

输入是:

A    1    2    3
B 10 20 30
C 100 200 300

我想要的输出如下:

A 1
B 10
C 100

A 2
B 20
C 200

A 3
B 30
C 300

最佳答案

更新版本:

for i in range(1, 4):
with open('test.csv') as f:
for line in f:
line = line.rstrip().split('\t')
print(line[0], line[i])
print()

但是,反复读取该文件并不是一个好习惯。仅当您的目标计算机缺乏 RAM 或文件非常大时才可以接受。否则,最好将其读入内存一次,然后按所需顺序输出:

data = []
with open('test.csv') as f:
for line in f: data.append(line.rstrip().split('\t'))

for i in range(1, 4):
for columns in data:
print(columns[0], columns[i])
print()

关于python - 如何在python中从txt中选择不同的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35998938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com