【问题标题】:How to split (and store) data from text file?如何从文本文件中拆分(和存储)数据?
【发布时间】:2021-10-28 14:07:46
【问题描述】:

我有一个文本文件,它的格式是用 ; 分隔的数据。 (例如苹果;橙子;葡萄),我需要将列表分成 3 个单独的项目(苹果、橙子、葡萄)。到目前为止我的代码如下

doc = open("doc.txt", "r")
alist = []
line = doc.readline()
line = line.strip()
stuff = line.split(";")
alist.append(stuff)
print(alist)
print(len(alist))

但输出只是将列表中的所有项目存储为一个元素 ["Apples"、"Oranges"、"Grapes],len() 为 1

我需要将它们分开,以便在打印时使用格式

感谢您的帮助! :)

【问题讨论】:

  • append 将一项添加到列表中。在你的情况下,这个项目是一个列表。为什么不直接写alist = stuff?如果不可能,您可以使用alist += stuff 连接它
  • 我怀疑修复是超级简单的事情,而且它是......我删除了附加并将其更改为 =,它现在似乎可以工作了!非常感谢@jsofri!

标签: python list document


【解决方案1】:

它是因为您使用 append 在列表的后端插入整个列表,而不是使用如下示例中的 extend 可能有助于区分两者:

>>> a = []
>>> a.extend([1,2,3])
>>> a
[1, 2, 3]
>>> a.append([4,5,6])
>>> a
[1, 2, 3, [4, 5, 6]]
>>> 

【讨论】:

    【解决方案2】:

    您可以使用 for 循环逐个附加每个项目。

    for i in stuff:
        alist.append(i)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多