0

我正在使用 python 中的 bioservices 包,我想获取此函数的输出并使用 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)
4

1 回答 1

1

使用pd.read_csv, 将您的输出封装在 a 中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
于 2021-12-08T13:12:44.530 回答