如何在Python的Pandas中实现类似Excel的单元格合并效果?
实现字典数据合并并导出为指定Excel格式
问题分析
你需要将每个字典中的URL与对应data列表的每个元素一一配对生成多行数据,而非直接将字典转成DataFrame(这会因列表长度不匹配导致空值错位)。
解决方案(使用Pandas实现)
通过展开每个字典的data元素,为每个元素匹配对应的URL,再合并导出到Excel:
import pandas as pd # 原始数据 d1 = {"URL": ["https://example.com/1540"], "data": [2.5, 12.0, 5.0]} d2 = {"URL": ["https://example.com/4541"], "data": [1.0, 8.0, 0.0]} # 展开单个字典的URL与data对应关系 def expand_data(d): target_url = d["URL"][0] return [{"URL": target_url, "DATA": num} for num in d["data"]] # 合并所有展开后的数据行 merged_rows = [] for item in [d1, d2]: merged_rows.extend(expand_data(item)) # 转换为DataFrame并导出到Excel result_df = pd.DataFrame(merged_rows) result_df.to_excel("merged_data.xlsx", index=False)
效果说明
- 无论
data列表长度是多少,这段代码都会自动为每个data元素生成一行对应的URL数据,完全适配随机长度的data。 - 导出的Excel中,URL列会重复对应每个
data值,不会出现空行或错位。
内容的提问来源于stack exchange,提问作者Romanin
相关产品推荐
相关产品推荐

