你可以使用递归函数来遍历嵌套列表,并将每个元素添加到一个新的数据框中。
以下是一个示例代码,展示了如何遍历嵌套列表,并将其转换为数据框:
import pandas as pd
def nested_list_to_dataframe(data):
result = pd.DataFrame(columns=['Name', 'Age', 'Gender']) # 创建一个空的数据框
for item in data:
if isinstance(item, list): # 如果元素是嵌套列表,递归调用函数
result = result.append(nested_list_to_dataframe(item), ignore_index=True)
else: # 如果元素是字典,则将其添加到数据框中
result = result.append(item, ignore_index=True)
return result
# 嵌套列表示例
nested_list = [
{'Name': 'Alice', 'Age': 25, 'Gender': 'Female'},
{'Name': 'Bob', 'Age': 30, 'Gender': 'Male'},
[
{'Name': 'Charlie', 'Age': 35, 'Gender': 'Male'},
{'Name': 'Danielle', 'Age': 40, 'Gender': 'Female'}
]
]
# 转换为数据框
df = nested_list_to_dataframe(nested_list)
print(df)
输出结果为:
Name Age Gender
0 Alice 25 Female
1 Bob 30 Male
2 Charlie 35 Male
3 Danielle 40 Female
这个示例代码中的函数nested_list_to_dataframe
采用一个嵌套列表作为输入参数,并返回一个包含所有元素的数据框。对于嵌套列表中的每个元素,如果它是一个嵌套列表,那么将递归调用函数来处理它;如果它是一个字典,则将其添加到数据框中。最后,返回最终的数据框。