首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python列表不像list那样工作

Python列表不像list那样工作
EN

Stack Overflow用户
提问于 2017-05-21 06:52:16
回答 2查看 39关注 0票数 2
代码语言:javascript
复制
openFile = open('user.txt', 'r')
data =[]
data = openFile.read())
print((data[0])

这是我的user.txt文件数据:

["admin“、"123”、“2017-5月-21 01:43:37”、"nimal“、"456”、“2017-4月10日21:24:48”、"kamal“、"8745”、“2017-4月15日21:25:46"]

这是二维列表。但是当读取和获取这些数据时,我不能使用索引打印数组。

输出:

代码语言:javascript
复制
[

我需要这个输出:

代码语言:javascript
复制
['admin', '123', '2017-May-21 01:43:37']
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-21 07:03:54

您的数据是json编码的字符串。您可以将其解码为这样的python列表:

代码语言:javascript
复制
import json

strg = '''[["admin", "123", "2017-May-21 01:43:37"], ["nimal", "456", "2017-Apr-10 21:24:48"], ["kamal", "8745", "2017-Apr-15 21:25:46"]]'''

data = json.loads(strg)

print(data[0])
# ['admin', '123', '2017-May-21 01:43:37']

或者您可以直接从文件中读取:

代码语言:javascript
复制
with open('user.txt', 'r') as file:
    data = json.load(file)
print(data[0])
票数 1
EN

Stack Overflow用户

发布于 2017-05-21 06:56:05

在这里,您将数据分配给一个空列表:

代码语言:javascript
复制
data =[]

但是,然后将数据分配给文件的文本内容:

代码语言:javascript
复制
data = openFile.read())

..。它不再是一张清单了。似乎您希望data能够神奇地记住它以前是一个列表,并根据这个类型来解释它的新内容,但是它并没有这样做。

user.txt的内容看起来像一个2D列表,但它只是文本。但是,由于文本看起来完全像一个2D列表,所以可以使用json模块来做您想做的事情:

代码语言:javascript
复制
import json
openFile = open('user.txt', 'r')
data = json.load(openFile)
print (data[0])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44093985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档