You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中合并数据库重复行(Year列不合并)

Python处理数据库:合并Game与Creator相同行并分行展示Year值

需求明确:将数据库中Game和Creator列内容相同的行合并,Game与Creator仅显示一次,同一分组下的Year值单独分行展示。

实现步骤(基于pandas)

  1. 导入pandas库并加载数据(可从数据库直接读取,示例用构造数据演示)
  2. 按Game和Creator列分组
  3. 逐组格式化输出,控制列对齐与分隔线展示

代码示例

import pandas as pd

# 构造示例数据(实际可替换为从数据库读取的DataFrame)
data = {
    'Game': ['aaa', 'bbb', 'aaa', 'bbb'],
    'Creator': ['zzz', 'xxx', 'zzz', 'xxx'],
    'Year': [2002, 2001, 2000, 3001]
}
df = pd.DataFrame(data)

# 按Game和Creator分组
grouped = df.groupby(['Game', 'Creator'])

# 输出表头与分隔线
print("Game   |   Creator  |   Year    |")
print("________________________________|")

# 遍历每个分组并格式化输出
for (game, creator), group in grouped:
    year_list = group['Year'].tolist()
    # 输出分组第一行:显示Game、Creator和第一个Year
    print(f"{game:<6} |   {creator:<8} |   {year_list[0]}    |")
    # 输出剩余Year,每行前两列留空
    for year in year_list[1:]:
        print("       |            |___________|")
        print(f"       |            |   {year:<5} |")
    # 输出分组底部分隔线
    print("________________________________|")

输出效果

运行代码后将得到与期望一致的格式化结果:

Game   |   Creator  |   Year    |
________________________________|
aaa    |   zzz      |   2002    |
       |            |___________|
       |            |   2000    |
________________________________|
bbb    |   xxx      |   2001    |
       |            |___________|
       |            |   3001    |
________________________________|

内容的提问来源于stack exchange,提问作者Krya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:05:02