从数据集字段子列表获取值

2024-06-02 10:04:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据集(从dict中提取数据),我正试图清理和重新发布它。在这个数据集中,有一个带有子列表的字段,我想从中提取特定的数据

数据如下:

[{'id': 'oH58h122Jpv47pqXhL9p_Q', 'alias': 'original-pizza-brooklyn-4', 'name': 'Original Pizza', 'image_url': 'https://s3-media1.fl.yelpcdn.com/bphoto/HVT0Vr_Vh52R_niODyPzCQ/o.jpg', 'is_closed': False, 'url': 'https://www.yelp.com/biz/original-pizza-brooklyn-4?adjust_creative=IelPnWlrTpzPtN2YRie19A&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=IelPnWlrTpzPtN2YRie19A', 'review_count': 102, 'categories': [{'alias': 'pizza', 'title': 'Pizza'}], 'rating': 4.0, 'coordinates': {'latitude': 40.63781, 'longitude': -73.8963799}, 'transactions': [], 'price': '$', 'location': {'address1': '9514 Ave L', 'address2': '', 'address3': '', 'city': 'Brooklyn', 'zip_code': '11236', 'country': 'US', 'state': 'NY', 'display_address': ['9514 Ave L', 'Brooklyn, NY 11236']}, 'phone': '+17185313559', 'display_phone': '(718) 531-3559', 'distance': 319.98144420799355},

以下是如何在csv/电子表格中显示数据:

location
{'address1': '9514 Ave L', 'address2': '', 'address3': '', 'city': 'Brooklyn', 'zip_code': '11236', 'country': 'US', 'state': 'NY', 'display_address': ['9514 Ave L', 'Brooklyn, NY 11236']}

有没有办法拉location.city的例子

下面的代码只是添加几个字段并将其导出到csv

def data_set(data):

    df = pd.DataFrame(data)
    df['zip'] = get_zip()
    df['region'] = get_region()

    newdf = df.filter(['name', 'phone', 'location', 'zip', 'region', 'coordinates', 'rating', 'review_count',
                       'categories', 'url'], axis=1)

    if not os.path.isfile('yelp_data.csv'):
        newdf.to_csv('data.csv', header='column_names')
    else:  # else it exists so append without writing the header
        newdf.to_csv('data.csv', mode='a', header=False)

如果没有道理,请告诉我。提前谢谢


Tags: csv数据urlcitydfdatadisplaylocation