如何将.txt文件转换为列表python?

时间:2017-09-12 06:19:06

标签: python list nested-lists

在.txt文件中:

[['Courtney fan', 'https://www.aaa.com', 'he is a good guy'], ['Courtney fan', 'https://www.bbb.com', 'Dave Butner', 'https://www.ccc.com', 'Austin']]

我尝试过这种方法,但它没有正确分割:

with open("/Users/jj/Desktop/Courtney_fan.txt","r") as f:
       sd = f.read().split() 

如何在python中将其写入嵌套列表?

3 个答案:

答案 0 :(得分:5)

如果数据是有效的python文字(list,dict等..),您可以使用pythons内置literal_eval包中的ast函数。这比使用eval的解决方案更好,因为它只会评估有效的数据结构,并且不允许任意代码执行。几乎没有使用普通eval的情况是个好主意。

from ast import literal_eval

with open("/Users/jj/Desktop/Courtney_fan.txt","r") as f:
    my_list = literal_eval(f.read())

答案 1 :(得分:0)

您只需打开文件并阅读即可。 json应该为你做这件事。 你有什么尝试?为什么它不起作用?

import json

with open(".txt") as f:
    l = json.load(f)

答案 2 :(得分:0)

由于您的$sql = 'select * from ViewProduct'; $params = array(); $options = array('Scrollable' => SQLSRV_CURSOR_KEYSET); $stmt = sqlsrv_query($dbRemote, $sql, $params, $options); $count = sqlsrv_num_rows($stmt); if ($count === false) echo "Error in retrieveing row count."; else echo $count; //$rows = array(); while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { print_r($row); echo "<br>"; //$rows[] = $row; } 文件格式正确并且作为.txt读取,因此内置功能string可以为您执行此操作。

这是一个类似于txt文件中字符串的示例:

eval()

对你而言,那就是:

test = "['a', ['b','c']]"
>>> trial = eval(test)
>>> type(trial)
<class 'list'>
>>> trial
['a', ['b', 'c']]