gpt4 book ai didi

python读取文本文件

转载 作者:太空狗 更新时间:2023-10-29 22:06:00 25 4
gpt4 key购买 nike

我有一个文本文件,我需要其中的每一列,最好是字典或列表,格式是:

N       ID   REMAIN        VERS          
2 2343333 bana twelve
3 3549287 moredp twelve
3 9383737 hinsila twelve
3 8272655 hinsila eight

我试过:

crs = open("file.txt", "r")
for columns in ( raw.strip().split() for raw in crs ):
print columns[0]

Result = '超出索引错误'

还试过:

crs = csv.reader(open(file.txt", "r"), delimiter=',', quotechar='|', skipinitialspace=True)
for row in crs:
for columns in row:
print columns[3]

这似乎将每个字符读作一列,而不是每个“单词”

我想得到四列,即:

2
2343333
bana
twelve

放入单独的词典或列表

任何帮助都很棒,谢谢!

最佳答案

这对我来说很好:

>>> crs = open("file.txt", "r")
>>> for columns in ( raw.strip().split() for raw in crs ):
... print columns[0]
...
N
2
3
3
3

如果要将列转换为行,请使用 zip

>>> crs = open("file.txt", "r")
>>> rows = (row.strip().split() for row in crs)
>>> zip(*rows)
[('N', '2', '3', '3', '3'),
('ID', '2343333', '3549287', '9383737', '8272655'),
('REMAIN', 'bana', 'moredp', 'hinsila', 'hinsila'),
('VERS', 'twelve', 'twelve', 'twelve', 'eight')]

如果您有空行,请在使用 zip 之前对其进行过滤。

>>> crs = open("file.txt", "r")
>>> rows = (row.strip().split() for row in crs)
>>> zip(*(row for row in rows if row))
[('N', '2', '3', '3', '3'), ('ID', '2343333', '3549287', '9383737', '8272655'), ('REMAIN', 'bana', 'moredp', 'hinsila', 'hinsila'), ('VERS', 'twelve', 'twelve', 'twelve', 'eight')]

关于python读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7485458/

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