Преобразование данных табличной строки в данные Python

#python #python-3.x #pandas #list

#python #python-3.x #pandas #Список

Вопрос:

У меня есть строка, подобная этой

 """PID TTY          TIME CMD
      1 ?        00:00:01 systemd
      2 ?        00:00:00 kthreadd
      3 ?        00:00:00 rcu_gp
      4 ?        00:00:00 rcu_par_gp"""
  

теперь я хочу, чтобы данные были такими, чтобы я мог получить к ним доступ, который data["PID"] даст мне 1,2,3,4 and so for other headers.

Я использовал pandas и StringIO для преобразования его в dataframe , но вывод df.columns give ['PID TTY', 'TIME CMD'] — это не то, что я хочу.

Будет лучше, если логика будет связана с Python, а не с pandas

Комментарии:

1. нет, это была ошибка. каким-то образом удалил это.

Ответ №1:

Используйте sep="s " для разделения пробелом:

 from io import StringIO

temp="""PID TTY          TIME CMD
      1 ?        00:00:01 systemd
      2 ?        00:00:00 kthreadd
      3 ?        00:00:00 rcu_gp
      4 ?        00:00:00 rcu_par_gp"""
df = pd.read_csv(StringIO(temp), sep="s ")
   
print (df)
   PID TTY      TIME         CMD
0    1   ?  00:00:01     systemd
1    2   ?  00:00:00    kthreadd
2    3   ?  00:00:00      rcu_gp
3    4   ?  00:00:00  rcu_par_gp
  

 print (df.columns)
Index(['PID', 'TTY', 'TIME', 'CMD'], dtype='object')