Python CSV数据框列中的字典

Python CSV数据框列中的字典,python,pandas,dictionary,Python,Pandas,Dictionary,我有一个CSV,它有一个名为“location”的列,其中包含以下字典 {"city": "Bellevue", "country": "United States", "address2": "Ste 2A - 178", "state": "WA", "postal_code": "98005"

我有一个CSV,它有一个名为“location”的列,其中包含以下字典

{"city": "Bellevue", "country": "United States", "address2": "Ste 2A - 178", "state": "WA", "postal_code": "98005", "address1": "677 120th Ave NE"}

{"city": "Atlanto", "country": "United States", "address2": "Ste A-200", "state": "GA", "postal_code": "30319", "address1": "4062 Peachtree Rd NE"}

{"city": "Suffield", "state": "CT", "postal_code": "06078", "country": "United States"}

{"city": "Nashville", "state": "TN", "country": "United States", "postal_code": "37219", "address1": "424 Church St"}
我希望将CSV读入一个数据框架,然后将城市、州、街道、邮政编码、国家解析为它们自己的列


有人有什么想法吗?

将列加载到列表中并创建新的数据帧

例如:

import pandas as pd

column = [{"city": "Bellevue", "country": "United States", "address2": "Ste 2A - 178", "state": "WA", "postal_code": "98005", "address1": "677 120th Ave NE"},
          {"city": "Atlanto", "country": "United States", "address2": "Ste A-200", "state": "GA", "postal_code": "30319", "address1": "4062 Peachtree Rd NE"},
          {"city": "Suffield", "state": "CT", "postal_code": "06078", "country": "United States"},
          {"city": "Nashville", "state": "TN", "country": "United States", "postal_code": "37219", "address1": "424 Church St"}]


df = pd.DataFrame(column)
print(df)
印刷品:

        city        country      address2 state postal_code              address1
0   Bellevue  United States  Ste 2A - 178    WA       98005      677 120th Ave NE
1    Atlanto  United States     Ste A-200    GA       30319  4062 Peachtree Rd NE
2   Suffield  United States           NaN    CT       06078                   NaN
3  Nashville  United States           NaN    TN       37219         424 Church St

编辑:要读取csv文件,可以使用以下示例:

import csv
import pandas as pd
from ast import literal_eval

data = []
with open('data.csv', 'r', newline='') as f_in:
    csv_reader = csv.reader(f_in, delimiter=',', quotechar='"')
    for row in csv_reader:
        data.append(literal_eval(row[0]))  # <-- here i use [0], beacuse the dictionary is in column 0

df = pd.DataFrame(data)
print(df)
导入csv
作为pd进口熊猫
从ast导入文字值
数据=[]
将open('data.csv','r',换行符='')作为f_输入:
csv_reader=csv.reader(f_-in,分隔符=',',引号=')
对于csv_读取器中的行:

data.append(literal_eval(row[0]))35;我正在从CSV读取此内容-如何将列放入列表中?