Как записать список со строками и фреймами данных в файл .txt

#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 верна, но, как вы можете видеть, фрейм данных отображается не полностью. В дополнение к этому я хотел бы также убрать кавычки.

вывод файла .txt

спасибо вам за помощь!

редактировать: теперь возникла еще одна проблема. Когда я пытаюсь записать фрейм данных 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 файл