Python - 将内容文件嵌入到嵌套列表中

Dar*_*ick 3 python tabs newline file list

我有一个带制表符分隔格式的文件,带有尾随换行符,例如,

123   abc
456   def
789   ghi
Run Code Online (Sandbox Code Playgroud)

我希望编写函数将文件的内容转换为嵌套列表.到目前为止,我尝试过:

def ls_platform_ann():
    keyword = []
    for line in open( "file", "r" ).readlines():
        for value in line.split():
            keyword.append(value)
Run Code Online (Sandbox Code Playgroud)

def nested_list_input():
    nested_list = []
    for line in open("file", "r").readlines():
        for entry in line.strip().split():
            nested_list.append(entry)
            print nested_list
Run Code Online (Sandbox Code Playgroud)

.

前者创建一个嵌套列表,但包含\n和\ t字符.后者不是一个嵌套列表,而是没有\n和\ t字符的许多等效列表.

有人帮吗?

问候,S ;-)

Miz*_*zor 8

你想要这个csv模块.

import csv

source = "123\tabc\n456\tdef\n789\tghi"
lines = source.split("\n")

reader = csv.reader(lines, delimiter='\t')

print [word for word in [row for row in reader]]
Run Code Online (Sandbox Code Playgroud)

输出:

[['123', 'abc'], ['456', 'def'], ['789', 'ghi']]
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我将文件的内容放在那里以便于测试.如果您从磁盘中读取文件,您也可以这样做(可能会被认为更干净):

import csv

reader = csv.reader(open("source.csv"), delimiter='\t')

print [word for word in [row for row in reader]]
Run Code Online (Sandbox Code Playgroud)