Я хочу поместить вывод этой функции print(d) в фреймворк pandas
Я работаю с пакетом биосервисов на python, и я хочу получить результат этой функции и поместить его в фрейм данных с помощью pandas
from bioservices import UniProt
u = UniProt(verbose=False)
d = u.search("yourlist:M20211203F248CABF64506F29A91F8037F07B67D133A278O", frmt="tab", limit=5,
columns="id, entry name")
print(d)
вот результат, который я получаю, почти как аккуратный столик
Однако проблема в том, что я не могу работать с данными в этой форме и хочу поместить их в фрейм данных с помощью pandas.
попытка использования этого кода ниже не работает и возвращает только ошибку «ValueError: конструктор DataFrame неправильно вызван»
import pandas as pd
df = pd.DataFrame(columns= ['Entry','Entry name'],
data=d)
print(df)
1 ответ
Использовать
pd.read_csv
, после инкапсуляции вашего вывода в
StringIO
(чтобы представить файловый интерфейс):
import io
import pandas as pd
data = 'Entry\tEntry name\na\t1\nb\t2'
io_data = io.StringIO(data)
df = pd.read_csv(io_data, sep='\t')
print(df)
Выход представляет собой кадр данных:
Entry Entry name
0 a 1
1 b 2
Образец данных:
from bioservices import UniProt
import io
u = UniProt(verbose=False)
d = u.search("yourlist:M20211203F248CABF64506F29A91F8037F07B67D133A278O", frmt="tab", limit=5,
columns="id, entry name")
#print(d)
df = pd.read_csv(io.StringIO(d), sep='\t')
print(df)
Entry Entry name
0 Q8TAS1 UHMK1_HUMAN
1 P35916 VGFR3_HUMAN
2 Q96SB4 SRPK1_HUMAN
3 Q6P3W7 SCYL2_HUMAN
4 Q9UKI8 TLK1_HUMAN