我曾使用IP2Location收集有关IP地址的信息,我想将其放在DataFrame中,但当我尝试使用pd.json_normalize(ip)时,我得到了一个错误。AttributeError: 'IP2LocationRecord' object has no attribute 'values'
我从IP2Location得到的信息是这样的格式,
{'ip': '66.249.79.244', 'country_short': 'US', 'country_long': 'United States of America', 'region': 'California', 'city': 'Mountain View', 'latitude': 37.405991, 'longitude': -122.078514, 'zipcode': '94043', 'timezone': '-08:00'}
我也尝试过使用pd.DataFrame,但df中的结果为空,只能看到列名。
df = pd.DataFrame(ip, columns = ['ip','country_short','country_long','region','city','latitude','longitude','zipcode','timezone'])
预期结果
ip country_short country_long .... zipcode timezone
0 66.249.69.244 US United States of America 94043 -08:00发布于 2021-01-31 00:05:42
请注意错误:
AttributeError: 'IP2LocationRecord' object ...
您要做的是将IP2LocationRecord类型的对象转换为pandas.DataFrame,这不是直接可能的(您必须直接解压所有值,或者使用IP2LocationRecord的字段创建一个字典)。您在这里看到的内容:
{'ip': '66.249.79.244', 'country_short': 'US', 'country_long': 'United States of America', 'region': 'California', 'city': 'Mountain View', 'latitude': 37.405991, 'longitude': -122.078514, 'zipcode': '94043', 'timezone': '-08:00'}https://stackoverflow.com/questions/65969597
复制相似问题