我有一個文本檔案,其中的資訊格式為
標題、作者、用戶評分、評論、價格、出版年份、流派(小說或非小說)
樣本資料表格txt
test_data = """
Girls,Hopscotch Girls,4.8,9737,7,2019,Non Fiction
I - Alex Cross,James Patterson,4.6,1320,7,2009,Fiction
If Animals Kissed Good Night,Ann Whitford Paul,4.8,16643,4,2019,Fiction
"""
它們都用逗號 (,) 分隔。我想把這個輸入變成一個看起來像的串列
list = {'Name': 'Girls','Author': 'Hopscotch Girls','User Rating':'4.8', 'Reviews':'9737', 'Price':'7', 'Publication Year':'2019', 'Genre':'Non Fiction'}
我試圖讓它成為一個串列,以便更容易瀏覽,因為稍后在我的程式中,因為我希望能夠獲得像年份這樣的用戶輸入并列出該年內的所有書籍。它還將使格式化輸出更容易。
uj5u.com熱心網友回復:
如果您從 .txt 檔案中讀取資料
data = {'Name': [], 'Author': [], 'User Rating': [], 'Reviews': [], 'Price': [], 'Publication Year': [], 'Genre': []}
with open("filename/goes/here.txt", "r") as f:
for line in f.readlines():
lineData = line.split(r",")
for key, ld in zip(data.keys(), lineData):
data[key].append(ld)
根據您的描述,我相信這是一個解決方案。一些建議,永遠不要使用與任何內置函式相同的名稱來命名變數。(例如串列、整數、字串)
uj5u.com熱心網友回復:
鑒于您的要求
我試圖讓它成為一個串列,以便更容易瀏覽,因為稍后在我的程式中,因為我希望能夠獲得像年份這樣的用戶輸入并列出該年內的所有書籍。它還將使格式化輸出更容易。
我認為字典串列可以完成這項作業。使用串列理解(我使用的是您在問題中定義的test_data):
tags = ["Name", "Author", "User Rating", "Reviews", "Price", "Publication Year", "Genre"]
result = [dict(zip(tags, x.split(","))) for x in test_data.split("\n") if len(x.strip()) > 0]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/314349.html
下一篇:R中出現的元素的總和
