#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')