从 SQLAlchemy Join 处理 Pandas DataFrame 构造函数中的重复列

hor*_*01d 2 python sqlalchemy pandas

我知道read_csv有,mangle_dup_cols但如何在发出后从 sqlalchemy 中的 sql join 执行相同的操作:

pd.DataFrame(result.fetchall(), columns=result.keys())
Run Code Online (Sandbox Code Playgroud)

df.info()由于重复的列名,这在使用时给了我一个错误。

van*_*van 5

您可以创建自己的帮助函数来处理列名。下面的代码是我从复制的io.parsers._infer_columns

def mangle_dupe_cols(columns):
    counts = {}
    for i, col in enumerate(columns):
        cur_count = counts.get(col, 0)
        if cur_count > 0:
            columns[i] = '%s.%d' % (col, cur_count)
        counts[col] = cur_count + 1
    return columns

pd.DataFrame(result.fetchall(), columns=mangle_dupe_cols(result.keys()))
Run Code Online (Sandbox Code Playgroud)