首页 > 解决方案 > 将 txt 文件列分段为列表

问题描述

我有包含多列并用逗号分隔的文本文件。

我正在尝试阅读它并将每一列放入它自己的单独列表中,但我似乎做不到。

到目前为止我所做的:

with open(file, 'r') as file_test:
    file_lines = file_test.readlines()
    file_strip = [line.strip("\n") for line in file_lines]

#I've split big list into separate lists within `file_strip`
    file_columns= [file_strip [i:i + 1] for i in range(0, len(file_strip ), 1)][2:]

所以现在我的数据如下:

[['22AUG18 000000, 22AUG18 000149, 5.722, UOS2'], ['22JUL18 012703, 22JUL18 013810, 52.2811, UOS2']]

我也不知道如何摆脱每个列表开头和结尾的 '

我希望每个列表中的第一个元素在,每个列表中的List1第二个元素在List2等等......

标签: pythonlist

解决方案


为什么不使用csv模块?它旨在做你想做的事!

import csv

with open(file, 'r') as file_test:
    csv_test = csv.reader(file_test)
    for row in csv_test:
         print(row)

将打印

['22AUG18 000000', '22AUG18 000149', '5.722', 'UOS2']
['22JUL18 012703', '22JUL18 013810', '52.2811', 'UOS2']

如果你想在列表中分开,你可以 zip() 它:

with open(file, 'r') as file_test:
    csv_test = csv.reader(file_test)
    list1, list2, list3, list4 = zip(*csv_test)

推荐阅读