[英]Python load list in list from text file
我想從文本文件中加載列表中的列表。 我經歷了很多例子,但沒有解決方案。 這就是我想做的我是 python 的新手
def main()
mainlist = [[]]
infile = open('listtxt.txt','r')
for line in infile:
mainlist.append(line)
infile.close()
print mainlist
`[[],['abc','def', 1],['ghi','jkl',2]]`
但是我想要的是這樣的
[['abc','def',1],['ghi','jkl',2]]
我的清單包含
'abc','def',1
'ghi','jkl',2
'mno','pqr',3
我想要的是當我訪問列表時print mainlist[0]
應該返回
'abc','def',1
任何幫助將不勝感激謝謝,
在我看來,你可以這樣做:
from ast import literal_eval
with open('listtxt.txt') as f:
mainlist = [list(literal_eval(line)) for line in f]
這是確保保留元素類型的簡單方法。 例如一條線:
"foo","bar",3
將被轉換為2個字符串和一個整數。 當然,行本身需要格式化為python元組......由於它的通用性和簡單性,這可能不是最快的方法。
也許這樣的事情。
mainlist = []
infile = open('listtxt.txt','r')
for line in infile:
mainlist.append(line.strip().split(','))
infile.close()
print mainlist
您正在使用空列表初始化mainlist
列表作為第一個元素,而不是作為空列表本身。 更改:
mainlist = [[]]
至
mainlist = []
我會嘗試這樣的事情:
with open('listtxt.txt', 'r') as f:
mainlist = [line for line in f]
mainlist = []
infile = open('filelist.txt', 'r')
for line in infile:
line = line.replace('\n', '').replace('[', '').replace(']', '').replace("'", "").replace(' ', '')
mainlist.append(line.split(','))
infile.close()
您可以使用如下所示的json
模塊(Python 3.x):
import json
def main()
mainlist = [[]]
infile = open('listtxt.txt','r')
data = json.loads(infile.read())
mainlist.append(data)
infile.close()
print(mainlist)
>>> [[],['abc','def', 1],['ghi','jkl',2]]
您的“listtxt.txt”文件應如下所示:
[["abc","def", 1],["ghi","jkl",2]]
要導出列表,請執行以下操作:
def export():
with open("listtxt.txt", 'w') as export_file:
json.dump(mainlist, export_file)
JSON模塊可以加載列表,可在此處找到
我有一個姓氏列表 - 每行一個 - 在我想讀入列表的文本文件中。 這是我的做法(記得去掉換行符)。
surnames = [name.strip("\n") for name in open("surnames.txt", "r")]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.