将多个生成的数据帧合并为一个数据帧

查理·弗兰克姆

我想通过从 api 的每一页(每页限制 100 行)获取数据来构建一个数据框。目前,下面的代码返回所有数据,但结构错误。

有 17 个标题,因此我需要 17 列中的数据。但是,它输出 [100 行 x 1700 列] 的数据帧,我需要 [10000 行 x 17 列]。

我不确定如何实现这一目标 - 任何帮助将不胜感激。

from ebaysdk.finding import Connection as finding
from bs4 import BeautifulSoup
import pandas as pd

x = []

for i in range(1,101):
    print(type(i))
    api = finding(siteid='EBAY-GB',appid='some_id',config_file=None)

    response = api.execute('findItemsByKeywords', {'keywords': 'phone', 'outputSelector' : 'SellerInfo',
    'paginationInput': {'entriesPerPage': '2','pageNumber': ' '+str(i)}})    

    soup = BeautifulSoup(response.content, 'lxml')

    items = soup.find_all('item')

    headers = ['itemid','title','categoryname','categoryid','postalcode','location','sellerusername','feedbackscore','positivefeedbackpercent','topratedseller','shippingservicecost','buyitnowavailable','currentprice','starttime','endtime','watchcount','conditionid']

    for object in headers:
        values = [element.text for element in soup.find_all(object)]
        x.append(values)
        df = pd.DataFrame(x)
        df = df.T
    print(x)
#[['152668959069', '252999725410'], ['Samsung GALAXY Ace GT-S5830i (Unlocked) Smartphone Android Phone- ALL COLOURS UK', '8GB 3G Unlocked Android 5.1 Quad Core Smartphone Mobile Phone 2 SIM GPS qHD'], ['Mobile & Smart Phones', 'Mobile & Smart Phones'], ['9355', '9355'], ['RM137PP'], ['Rainham,United Kingdom', 'United Kingdom'], ['deals4u_shop', 'smartlife2017'], ['15700', '456'], ['99.9', '98.5'], ['true', 'true'], ['0.0', '0.0'], ['false', 'false'], ['32.49', '48.9'], ['2017-08-18T18:36:28.000Z', '2017-06-19T09:04:40.000Z'], ['2017-12-16T18:36:28.000Z', '2017-12-16T09:04:40.000Z'], ['272', '134'], ['1000', '1000']]

    print(df)
             0                                                  1   \
0  152668959069  Samsung GALAXY Ace GT-S5830i (Unlocked) Smartp...   
1  252999725410  8GB 3G Unlocked Android 5.1 Quad Core Smartpho...   

                      2     3        4                       5   \
0  Mobile & Smart Phones  9355  RM137PP  Rainham,United Kingdom   
1  Mobile & Smart Phones  9355     None          United Kingdom   

              6      7     8     9   ...    24    25    26   27     28    29  \
0   deals4u_shop  15700  99.9  true  ...   456  98.5  true  0.0  false  48.9   

1  smartlife2017    456  98.5  true  ...   456  98.5  true  0.0  false  48.9   

                         30                        31   32    33  
0  2017-06-19T09:04:40.000Z  2017-12-16T09:04:40.000Z  214  1000  
1  2017-06-19T09:04:40.000Z  2017-12-16T09:04:40.000Z  182  1000  

编辑:为第一页的前 2 个条目添加更多代码并打印 x,为 2 页的前 2 个条目添加 df。

迈克·穆勒

这应该工作得更好。

词典理解版:

data_dict = {obj: [element.text for element in soup.find_all(obj)] for obj in headers}    
df = pd.DataFrame(data_dict)

循环版本:

data_dict = {}
for obj in headers:
    data_dict[obj] = [element.text for element in soup.find_all(obj)]

df = pd.DataFrame(data_dict)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将多个类似的.csv文件合并为具有给定结构的一个数据帧

来自分类Dev

将多个数据帧拆分,应用并合并为一个数据帧

来自分类Dev

R如何将一个数据帧的不同列合并为一个

来自分类Dev

将多个数据帧合并为一个数据帧

来自分类Dev

将来自多个数据帧的特定行合并为一个数据帧

来自分类Dev

将数据帧合并为一个数据帧,并将空数据帧保留为NA

来自分类Dev

将全局环境中的多个数据帧合并到一个文件

来自分类Dev

当重复的行具有不同的值时,如何将重复的行合并为一个数据帧

来自分类Dev

将多个数据帧合并为一个-熊猫

来自分类Dev

如何将一个Numpy数组合并到多个数据帧

来自分类Dev

根据R中的列名称将一个数据帧拆分为多个数据帧

来自分类Dev

如何在单独的数据帧中为每个值重复数据帧的每一行,然后将两者合并为一个数据帧?

来自分类Dev

将数据帧合并为一个

来自分类Dev

将多个文件读入并合并或合并到公共ID列的一个数据帧中

来自分类Dev

使用setDT将一个数据帧中的许多列合并到另一数据帧中

来自分类Dev

如何将R中的几个数据帧合并为一个较小的单个(减少列数)?

来自分类Dev

将一个熊猫数据帧合并到另一个熊猫数据帧,并从第二个数据帧中删除第一个数据帧中存在的值

来自分类Dev

将一个数据帧与另一个数据帧作为模板逐行合并

来自分类Dev

使用循环将2个相似的数据帧列表合并为一个列表

来自分类Dev

将两个数据帧合并为一个,同时保留原始行号

来自分类Dev

根据熊猫中的索引值将一个数据帧分为多个数据帧

来自分类Dev

R:将多个列表合并为一个数据帧

来自分类Dev

如何将两个数据帧中的行合并为 R 中的一个数据帧?

来自分类Dev

将 3 个数据帧合并为一个矩阵

来自分类Dev

如何使用熊猫将多个数据帧连接到一个数据帧中

来自分类Dev

合并数据帧,以便将一个数据帧中的值插入到另一个数据帧中匹配的行号中

来自分类Dev

如何通过键将多个数据帧行合并为一个?

来自分类Dev

使用合并函数将信息从一个数据帧合并到另一个数据帧时出错

来自分类Dev

如何将一个数据帧附加到python列表中的多个数据帧?

Related 相关文章

  1. 1

    如何将多个类似的.csv文件合并为具有给定结构的一个数据帧

  2. 2

    将多个数据帧拆分,应用并合并为一个数据帧

  3. 3

    R如何将一个数据帧的不同列合并为一个

  4. 4

    将多个数据帧合并为一个数据帧

  5. 5

    将来自多个数据帧的特定行合并为一个数据帧

  6. 6

    将数据帧合并为一个数据帧,并将空数据帧保留为NA

  7. 7

    将全局环境中的多个数据帧合并到一个文件

  8. 8

    当重复的行具有不同的值时,如何将重复的行合并为一个数据帧

  9. 9

    将多个数据帧合并为一个-熊猫

  10. 10

    如何将一个Numpy数组合并到多个数据帧

  11. 11

    根据R中的列名称将一个数据帧拆分为多个数据帧

  12. 12

    如何在单独的数据帧中为每个值重复数据帧的每一行,然后将两者合并为一个数据帧?

  13. 13

    将数据帧合并为一个

  14. 14

    将多个文件读入并合并或合并到公共ID列的一个数据帧中

  15. 15

    使用setDT将一个数据帧中的许多列合并到另一数据帧中

  16. 16

    如何将R中的几个数据帧合并为一个较小的单个(减少列数)?

  17. 17

    将一个熊猫数据帧合并到另一个熊猫数据帧,并从第二个数据帧中删除第一个数据帧中存在的值

  18. 18

    将一个数据帧与另一个数据帧作为模板逐行合并

  19. 19

    使用循环将2个相似的数据帧列表合并为一个列表

  20. 20

    将两个数据帧合并为一个,同时保留原始行号

  21. 21

    根据熊猫中的索引值将一个数据帧分为多个数据帧

  22. 22

    R:将多个列表合并为一个数据帧

  23. 23

    如何将两个数据帧中的行合并为 R 中的一个数据帧?

  24. 24

    将 3 个数据帧合并为一个矩阵

  25. 25

    如何使用熊猫将多个数据帧连接到一个数据帧中

  26. 26

    合并数据帧,以便将一个数据帧中的值插入到另一个数据帧中匹配的行号中

  27. 27

    如何通过键将多个数据帧行合并为一个?

  28. 28

    使用合并函数将信息从一个数据帧合并到另一个数据帧时出错

  29. 29

    如何将一个数据帧附加到python列表中的多个数据帧?

热门标签

归档