gpt4 book ai didi

python - 将列表中的unicode转换为数据帧

转载 作者:行者123 更新时间:2023-11-30 22:40:46 26 4
gpt4 key购买 nike

我正在使用 API 来获取一些数据。返回的数据采用 Unicode(不是字典/json 对象)。

# get data
data = []
for urls in api_call_list:
data.append(requests.get(urls))

数据如下所示:

>>> data[0].text
u'Country;Celebrity;Song Volume;CPP;Index\r\nus;Taylor Swift;33100;0.83;0.20\r\n'

>>> data[1].text
u'Country;Celebrity;Song Volume;CPP;Index\r\nus;Rihanna;28100;0.76;0.33\r\n'

我想将其放入 DataFrame 中,其中包含 Country、Celebrity、Song、Volume、CPP 和 Index 作为列名称。

首先,我尝试将其拆分为 \r\n,如下所示:

x = [i.text.split('\r\n') for i in data] 

得到:

[[u'Country;Celebrity;Song Volume;CPP;Index',
u'us;Taylor Swift;33100;0.83;0.20',
u''],
[u'Country;Celebrity;Song Volume;CPP;Index',
u'us;Rihanna;28100;0.76;0.33',
u'']]

不知道从这里该去哪里。 。 。

最佳答案

您可以使用pandas.read_csv数据作为数据框列表读取,然后将它们连接起来:

# if you use python 2 change this to // from io import BytesIO and use BytesIO instead
from io import StringIO
import pandas as pd

pd.concat([pd.read_csv(StringIO(d), sep = ";") for d in data])

enter image description here

由于您的实际数据是响应列表,因此您可能需要首先访问文本:

pd.concat([pd.read_csv(StringIO(d.text), sep = ";") for d in data])
<小时/>
data = [u'Country;Celebrity;Song Volume;CPP;Index\r\nus;Taylor Swift;33100;0.83;0.20\r\n', 
u'Country;Celebrity;Song Volume;CPP;Index\r\nus;Rihanna;28100;0.76;0.33\r\n']

关于python - 将列表中的unicode转换为数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42789933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com