将TXT文件中的多个列表插入到python的to dictionary?中
我有一个TXT文件,行数未知。 我设法提取到列表中,我有这个代码将TXT文件中的多个列表插入到python的to dictionary?中,python,list,dictionary,filab,Python,List,Dictionary,Filab,我有一个TXT文件,行数未知。 我设法提取到列表中,我有这个代码 dict_items = {"songs": [], "name": [], "length": []} a = ["Madonna","song_name_1", "3:12"] b = ["U2","song_name_2","3:14"] c =
dict_items = {"songs": [], "name": [], "length": []}
a = ["Madonna","song_name_1", "3:12"]
b = ["U2","song_name_2","3:14"]
c = ["Prince","song_name_3","4:23"]
我想通读所有13行,并将它们放入字典中,方法如下:
{'songs': ['Madonna', 'U2', 'Prince'], 'name': ['song_name_1', 'song_name_2', 'song_name_3'], 'length': ['3:12', '3:14', '4:23']}
我对此感到非常困惑,有人知道如何解决这个问题吗?如果在文本文件的每一行中,项目都用逗号分隔。您可以使用pandas函数读取它,然后使用dataframe方法将其转换为dict
>>> import pandas as pd
>>> def strip(s: str) -> str:
try:
return s.strip()
except Exception as e:
print(e.message)
return s
>>> df = pd.read_csv('my_text_file.txt', names=['songs', 'name', 'length'],
converters={'name': strip, 'songs': strip, 'length':strip})
>>> my_dict = df.to_dict(orient='list')
>>> print(my_dict)
{'songs': ['Madonna', 'U2', 'Prince'], 'name': ['song_name_1', 'song_name_2', 'song_name_3'], 'length': ['3:12', '3:14', '4:23']}
文本文件内容所在的位置
Madonna, song_name_1, 3:12
U2, song_name_2, 3:14
Prince, song_name_3, 4:23
这里是关于堆栈溢出的,它将向我们展示一些代码,演示您到目前为止所做的尝试。嘿,谢谢注意,这不是我需要的结构。文件里还有13行,我得把它们通读一遍,我可能误解了你的问题。但是在所有情况下,
pd.read\u csv
将读取所有文件内容(13行或更多)。您的文本文件的结构是什么?输出与我需要的不匹配。看看我上面附加的输出。谢天谢地,它应该工作得很好,我已经颠倒了列名和歌曲,并将文本条带化以删除空白。如果不是这样,请解释所需输出与此代码输出之间的差异。谢谢