Как получить определенное поле для анализа файлов журнала с использованием регулярных выражений pandas [duplicate]

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

35
задан Sounak 6 July 2015 в 13:30
поделиться

3 ответа

Вы можете просто использовать np.savetxt и получить доступ к атрибуту np .values:

np.savetxt(r'c:\data\np.txt', df.values, fmt='%d')

дает:

18 55 1 70
18 55 2 67
18 57 2 75
18 58 1 35
19 54 2 70

или to_csv :

df.to_csv(r'c:\data\pandas.txt', header=None, index=None, sep=' ', mode='a')

Примечание для np.savetxt вам нужно передать дескриптор файла, который был создан с помощью режима добавления.

50
ответ дан EdChum 18 August 2018 в 23:01
поделиться
  • 1
    когда я использую np.savetxt, я думаю, что текстовый файл не открывается в режиме append. Если я дважды использую np.savetxt, предыдущие данные будут удалены. Есть ли способ обойти это, поэтому я могу использовать эту функцию несколько раз для вывода в тот же файл? – Sounak 6 July 2015 в 13:42
  • 2
    Существует параметр mode. df.to_csv(r'c:\data\pandas.txt', header=None, index=None, mode='a', sep=' ') работает – Sounak 6 July 2015 в 13:50
  • 3
    Да, я должен был добавить параметр kwargs mode – EdChum 6 July 2015 в 13:53
  • 4
    Спасибо, EdChum – Sounak 6 July 2015 в 13:54

Поздно к вечеринке: попробуйте это>

#pd: your pandas dataframe
base_filename = 'Values.txt'
with open(os.path.join(WorkingFolder, base_filename),'w') as outfile:
    pd.to_string(outfile)
#Neatly allocate all columns and rows to a .txt file
5
ответ дан abhilash sukumari 18 August 2018 в 23:01
поделиться
  • 1
    Это не дает текстовый файл с разделителями табуляции, кажется, выводит файл с разделителями пространства. Мне нравится элегантность этого кода, есть ли способ сделать выходную вкладку ограниченной? – AHegde 12 August 2017 в 06:09

Вы можете использовать pandas.DataFrame.to_csv () и установить для обоих index и header значение False:

In [97]: print df.to_csv(sep=' ', index=False, header=False)
18 55 1 70
18 55 2 67
18 57 2 75
18 58 1 35
19 54 2 70

pandas.DataFrame.to_csv может пишите в файл напрямую, для получения дополнительной информации вы можете обратиться к документам, связанным выше.

14
ответ дан Anzel 18 August 2018 в 23:01
поделиться
  • 1
    Вы должны указать sep=' ', чтобы получить то, что желает OP – EdChum 6 July 2015 в 13:35
  • 2
    @EdChum, теперь исправлено. Я не уделял достаточного внимания :) – Anzel 6 July 2015 в 13:37
  • 3
    это столкнется с большим количеством проблем, когда побег должен произойти, это не решение общего дела Панды! – matanster 11 August 2018 в 12:45
Другие вопросы по тегам:

Похожие вопросы: