Я пытаюсь загрузить несколько файлов txt в фрейм данных. Я знаю, как загружать URL-адреса, csv и excel, но я не смог найти никакой справки о том, как загрузить несколько файлов txt в фрейм данных и сопоставить их со словарем или наоборот.
текстовый файл не разделен запятыми или табуляцией просто простой текст, содержащий текст песни.
Я проверил pandas документы, приветствую любую помощь.
https://pandas.pydata.org/pandas-docs/stable/reference/io.html
Идеально фрейм данных
фрейм данных, который я надеюсь достичь, будет похож на этот пример
| lyrics
-------------+-----------------------------------------------------------------------------------------
bonjovi | some text from the text files HiHello! WelcomeThank you Thank you for coming.
-------------+---------------------------------------------------------------------------------------
lukebryan | some other text from the text files.Hi.Hello WelcomeThank you Thank you for coming.
-------------+-----------------------------------------------------------------------------------------
johnprine | yet some text from the text files. Hi.Hello WelcomeThank you Thank you for coming.
Basi c пример структура папок / текст /
urls =
'lyrics/bonjovi.txt',
'lyrics/lukebryan.txt',
'lyrics/johnprine.txt',
'lyrics/brunomars.txt',
'lyrics/methodman.txt',
'lyrics/bobmarley.txt',
'lyrics/nickcannon.txt',
'lyrics/weeknd.txt',
'lyrics/dojacat.txt',
'lyrics/ladygaga.txt',
'lyrics/dualipa.txt',
'lyrics/justinbieber.txt',]
мусульманские имена
bands = ['bonjovi', 'lukebryan', 'johnprine', 'brunomars', 'methodman', 'bobmarley', 'nickcannon', 'weeknd', 'dojacat', 'ladygaga', 'dualipa', 'justinbieber']
Откройте текстовые файлы файлы находятся в каталоге lyrics /, откуда я запустил свой блокнот Jupyter.
for i, c in enumerate(bands):
with open("lyrics/" + c + ".txt", "wb") as file:
pickle.dump(lyrics[i], file)
Дважды проверьте, правильно ли загружены данные
data.keys()
надеюсь получить такой результат
dict_keys (['bonjovi', lukebryan, johnprine, brunomars, methodman, bobmarley, nickcannon, weeknd, doja cat ',' ladygaga ',' dualipa ',' justinbieber '])
# Combine it!
data_combined = {key: [combine_text(value)] for (key, value) in data.items()}
# We are going to change this to key: artist, value: string format
def combine_text(list_of_text):
'''Takes a list of text and combines them into one large chunk of text.'''
combined_text = ' '.join(list_of_text)
return combined_text
Мы можем сохранить его в формате словаря или поместить в pandas фрейм данных
import pandas как pd
pd.set_option('max_colwidth',150)
data_df = pd.DataFrame.from_dict(data_combined).transpose()
data_df.columns = ['lyrics']
data_df = data_df.sort_index()
data_df