pd.json_normalize是Pandas库中的一个函数,用于将嵌套的JSON数据转换为平面表格形式。它可以接受一个嵌套的JSON对象或一个包含JSON对象的列表,并将其展平成一个Pandas数据框。
具体来说,pd.json_normalize函数接受以下参数:
data:需要展平的JSON数据,可以是一个JSON对象或包含JSON对象的列表。
record_path:用于指定要展平的JSON对象在原始数据中的路径,可以是字符串或列表。
meta:用于指定展平后数据框中额外添加的列,可以是字符串或列表。
meta_prefix:用于指定额外添加的列名前缀。
record_prefix:用于指定展平后列名的前缀。
errors:用于指定错误处理方式,默认为"raise",可选值为"raise"、"ignore"或"warn"。
count = 0
# 每个解析出来的xml字典
for file_dict in file_dicts:
# 每个键值对
for key in file_dict:
if isinstance(file_dict[key], list):
count += 1
# 存放每个记录对应字段的字典
get_dict = {}
# 每条记录的dataframe的字段名
# 每个xml文件生成的dic都转为dataframe
df = pd.json_normalize(file_dict, record_path=key)
pd.concat()是Pandas库中用于将一组Pandas对象沿着一个轴(默认是行轴,即axis=0)进行拼接的函数。
它的基本语法为:
pd.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True)
其中,常用参数的含义如下:
objs:要进行拼接的Pandas对象的序列,如DataFrame、Series等,可以是列表、元组、字典等。
axis:指定拼接的轴方向,默认为0(即沿着行轴进行拼接)。
join:指定拼接的方式,默认为outer,表示取并集。还有inner(取交集)、left、right等选项。
ignore_index:如果为True,则在拼接后的结果中重新编号行索引,默认为False。
keys:用于在拼接后的结果中为每个输入对象添加一个层次化的索引级别。
sort:如果为True,则根据拼接键对结果进行排序,默认为False。
united_df = pd.concat(records, join="outer", ignore_index=True)