Я хочу поместить вывод этой функции 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
Другие вопросы по тегам