[英]Importing data as list from text files
這似乎是一個簡單的問題,但是我已經上網了,找不到任何東西,所以我們開始吧...
我有一個包含此信息的文本文件:
[['AX34 GFV','Name: John Smith1, Address: x, Number: x'],['AX34 ABC','Name: John Smith2, Address: x, Number: x'],['UH23 HUH','Name: John Smith3, Address: x, Number: x'],['ER54 SDR','Name: John Smith4, Address: x, Number: x'],['FE54 VMR','Name: John Smith5, Address: x, Number: x'],['23FX SDA','Name: John Smith6, Address: x, Number: x'],['AS23 JAS','Name: John Smith7, Address: x, Number: x']]
我要做的就是讀取此數據,並將其作為列表而不是字符串導入。 目前,這就是我所擁有的...
details = open("details.txt","r")
details = details.read()
details = list(details)
print(details)
但這會接受數據的每個字母,並將其生成為列表...任何簡單的函數可以解決此問題?
也許您想要這樣:
list = []
details = open("details.txt", "r")
line = details.readline()
while(line != ''):
list.append(line)
line = details.readline()
print(list)
details.close()
我不太確定這是否只是一行或單獨的行。
但是嘗試.append()
如果您將Python代碼(如此列表)作為字符串,則可以通過eval函數運行它:
>>> eval('[1, "2"]')
[1, '2']
它將返回評估后的Python表達式。 但是要小心,這種方式將執行文件中的代碼。 確保沒有不安全的用戶數據!
>>> import ast
>>> x = "[['AX34 GFV','Name: John Smith1, Address: x, Number: x'],['AX34 ABC','Name: John Smith2, Address: x, Number: x'],['UH23 HUH','Name: John Smith3, Address: x, Number: x'],['ER54 SDR','Name: John Smith4, Address: x, Number: x'],['FE54 VMR','Name: John Smith5, Address: x, Number: x'],['23FX SDA','Name: John Smith6, Address: x, Number: x'],['AS23 JAS','Name: John Smith7, Address: x, Number: x']] "
>>> ast.literal_eval(x)
[['AX34 GFV', 'Name: John Smith1, Address: x, Number: x'], ['AX34 ABC', 'Name: John Smith2, Address: x, Number: x'], ['UH23 HUH', 'Name: John Smith3, Address: x, Number: x'], ['ER54 SDR', 'Name: John Smith4, Address: x, Number: x'], ['FE54 VMR', 'Name: John Smith5, Address: x, Number: x'], ['23FX SDA', 'Name: John Smith6, Address: x, Number: x'], ['AS23 JAS', 'Name: John Smith7, Address: x, Number: x']]
安全地評估表達式節點或包含Python表達式的Unicode或Latin-1編碼的字符串。 提供的字符串或節點只能由以下Python文字結構組成:字符串,數字,元組,列表,字典,布爾值和無。
嘗試這個:
details = open("details.txt","r")
details = eval(details.read())
print(details)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.