Python CSV数据框列中的字典
我有一个CSV,它有一个名为“location”的列,其中包含以下字典Python CSV数据框列中的字典,python,pandas,dictionary,Python,Pandas,Dictionary,我有一个CSV,它有一个名为“location”的列,其中包含以下字典 {"city": "Bellevue", "country": "United States", "address2": "Ste 2A - 178", "state": "WA", "postal_code": "98005"
{"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读取此内容-如何将列放入列表中?