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

如何用Pandas从两个长度不同的列表生成指定格式的CSV文件?

解决方法

你报错的核心原因是代码逻辑错配了行和列:你把components整个列表当成DataFrame的一行数据,但components的元素数量(196个)和表头projects的列数(11个)不相等,导致列数匹配失败。

下面两种写法可以满足你的需求:

方法1:components作为带列名的第一列,projects作为后续表头

如果希望第一列有明确的列名(比如Components),后续表头用projects,其余单元格留空:

import pandas as pd

def create_csv():
    # 以components为索引、projects为列构建空DataFrame
    df = pd.DataFrame(index=components, columns=projects)
    # 导出时将索引转为第一列,并设置列名
    df.to_csv('test.csv', index_label='Components')

create_csv()

导出的CSV结构示例:

Components,Project_1,Project_2,Project_3
component_1,,,
component_2,,,
component_3,,,

方法2:components直接填入表头第一列,无额外列名

如果不需要第一列的专属列名,直接用projects作为完整表头,把components依次填入表头第一列的各行,其余单元格留空:

import pandas as pd

def create_csv():
    # 构造每行数据:每个component后补充对应数量的空值,保证列数和表头匹配
    row_data = [[comp] + [None]*(len(projects)-1) for comp in components]
    df = pd.DataFrame(row_data, columns=projects)
    df.to_csv('test.csv', index=False)

create_csv()

导出的CSV结构示例:

Project_1,Project_2,Project_3
component_1,,
component_2,,
component_3,,

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:37:37