分析制表符分隔的文本文件以将列替换为一个垂直列表(Python)

2024-09-28 05:26:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python很陌生,我知道这是一个非常基本的问题。我有一个包含数据列的文本文件。我想删除这些列并将其列为一个长列表。在

我有以下代码:

for line in open('feddocs_2011.txt', 'r'):
    segmentedLine = line.split("/t")
    print segmentedLine

下一步我可能需要为每一行创建一个新的循环。我以为它会把所有的东西都放在一个新的行上。我尝试了下面的方法,但是得到了一条错误消息,“list”没有split函数。在

^{pr2}$

非常感谢您的任何意见。在


Tags: 数据代码intxt列表forlineopen
3条回答

关于:

x = [line.split('\t') for line in open('file.txt')]

如果您愿意,您可以加入列表:

^{pr2}$

[编辑]

如果您的文件只有制表符(没有空格),您可以简单地执行以下操作:

x = open('file.txt').read().split()

所以你有

foo<tab>bar<tab>baz
bla<tab>bla<tab>bla

你想这样吗

^{pr2}$

对吧?在

那你就可以

with open("myfile.txt", "r") as f:
    text = f.read().replace("\t", "\n")

现在,text是一个字符串。如果您想要所有项目的列表(["foo", "bar", "baz", "bla", "bla", "bla"]),请使用

text = f.read().replace("\t", "\n").split("\n")

你已经在第一个循环中正确地分割了线。然后,您要做的是使用第二个for循环来迭代每个选项卡分隔的项。看起来像这样:

for line in open('feddocs_2011.txt', 'r'):
    segmentedLine = line.split("\t")
    for item in segmentedLine:
        print item

或者更简洁地说,没有临时变量:

^{pr2}$

相关问题 更多 >

    热门问题