#python #pandas #list #dataframe #export-to-csv
#питон #панды #Список #фрейм данных #экспорт в csv
Вопрос:
я хотел бы записать этот список в текстовый файл.txt. Моя проблема в том, что я не могу добавить все данные матрицы 1801 * 20.
я попытался преобразовать список в фрейм данных pandas и записать его в формат .txt.
dftistext = pd.DataFrame(tistext)
dftistext.to_csv('test.txt', mode='a', header=False,index=None)
Строка индекса 0 верна, но, как вы можете видеть, фрейм данных отображается не полностью. В дополнение к этому я хотел бы также убрать кавычки.
спасибо вам за помощь!
редактировать: теперь возникла еще одна проблема. Когда я пытаюсь записать фрейм данных pandas в текстовый файл с fobj.write(e.to_string(header=False,index=None) 'n')
помощью , перед каждой строкой добавляется пробел. Я попытался удалить его с помощью split(): fobj.write((((e.to_string(header=False,index=None)).lstrip())) 'n')
но это работает только для первой и последней строки из 1801 строк. У вас есть какие-нибудь предложения?
Ответ №1:
Мы предполагаем, что вы знаете, что в вашем списке есть два типа элементов: string и pandas dataframes . Таким образом, вам нужно определить только два типа.
with open('test.txt', 'w ') as fobj:
for e in Liste:
if isinstance(e, str):
fobj.write(e 'n')
else:
# The other type -- DataFrame
fobj.write(e.to_string(header=False,index=None) 'n')
Ответ №2:
Ваш вопрос немного неясен, но вот несколько способов, которыми вы можете распечатать все Dataframe
:
with pd.option_context('display.max_rows', None, 'display.max_columns', None):
print(dftistext)
Вы также можете извлечь фрейм данных как dict
и «красиво распечатать» его:
from pprint import pprint
pprint(dftistext.to_dict())
Оттуда вы можете анализировать и извлекать из этого все, что вам нужно, в свой .txt
файл