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

如何将完整DataFrame转换为单列并插入至数据表?

实现将DataFrame转换为带日期的批量加载记录结构

实现思路

核心是将目标DataFrame的列名列表与行数据列表拼接,作为新DataFrame中Bulk_load列的值,同时为每条记录指定对应的Insert_date。

代码实现

1. 构造原始DataFrame

import pandas as pd

# 你的原始DataFrame
df = pd.DataFrame({
    'A': [1, 4],
    'B': [2, 5],
    'C': [2, 5],
    'D': [3, 6]
})

2. 生成目标结构的DataFrame

直接构造包含日期和批量数据的字典列表,再转换为DataFrame:

# 准备每条记录的数据
bulk_records = [
    {
        'Insert_date': '09-09-2022',
        'Bulk_load': [df.columns.tolist()] + df.values.tolist()
    },
    {
        'Insert_date': '10-09-2022',
        # 示例新DataFrame对应的批量数据
        'Bulk_load': [['Q', 'Z', 'R', 'F']] + [[1, 2, 2, 3], [4, 5, 5, 6]]
    }
]

# 转换为目标DataFrame
result_df = pd.DataFrame(bulk_records)

3. 输出效果

执行后result_df的内容如下:

Insert_date                                          Bulk_load
0  09-09-2022  [[A, B, C, D], [1, 2, 2, 3], [4, 5, 5, 6]]
1  10-09-2022  [[Q, Z, R, F], [1, 2, 2, 3], [4, 5, 5, 6]]

4. 批量处理优化

如果需要处理多个日期对应的不同DataFrame,可以封装成函数批量生成记录:

def generate_bulk_record(date_str, input_df):
    """将单个DataFrame转换为带日期的批量记录"""
    return {
        'Insert_date': date_str,
        'Bulk_load': [input_df.columns.tolist()] + input_df.values.tolist()
    }

# 示例:处理另一个新的DataFrame
new_df = pd.DataFrame({
    'Q': [1, 4],
    'Z': [2, 5],
    'R': [2, 5],
    'F': [3, 6]
})

# 批量生成所有记录
records = [
    generate_bulk_record('09-09-2022', df),
    generate_bulk_record('10-09-2022', new_df)
]

result_df = pd.DataFrame(records)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:30:43