csv 在pandas DataFrame中从2个列表创建行+列[已关闭]

ev7lccsx  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(83)

已关闭,此问题需要details or clarity。它目前不接受回答。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

昨天关门了。
Improve this question
我有两个列表,每个列表中有不同数量的元素。我想用这些列表中的值创建csv文件,如下所示:

projects = ['Project_1', 'Project_2', 'Project_3', ..., 'Project_N']
components = ['component_1', 'component_2', 'component_3', ..., 'component_N']

|组件/项目| 项目_1|项目_2|项目_3|......这是什么?|项目_N →→|
| --|--|--|--|--|--|
| 组件_1||||||
| 组件_2||||||
| 组件_3||||||
| ......这是什么?||||||
| component_N ↓||||||
重要:projects列表中的项必须作为文件头存在于文件中。
但是当我尝试使用pandas创建csv文件时,我得到错误:

def create_csv():
    pd.DataFrame(data=[components], columns=projects).to_csv('test.csv', index=False)

create_csv()

ValueError: 11 columns passed, passed data had 196 columns
你能告诉我该怎么解决吗?

3wabscal

3wabscal1#

你想做的事情看起来也很奇怪:

#Add 'Component / Projects' to the front of your project row

x = 'Component / Project'
projects = ['Project_1', 'Project_2', 'Project_3', ..., 'Project_N']
projects =  x.insert(0, projects)

df = pd.DataFrame(columns=projects, index=components)

df.to_csv('test.csv')
qacovj5a

qacovj5a2#

import pandas as pd

projects = ['Project_1', 'Project_2', 'Project_3']  # Add all your project names here
components = ['component_1', 'component_2', 'component_3']  # Add all your component names here

# Create an empty DataFrame with projects as columns and components as index
df = pd.DataFrame(columns=projects, index=components)
df.index.name = 'Component / Project' 

# Save to CSV
df.to_csv('test.csv')

相关问题