使用numpy将带有标题的列表列表转换为cs

2024-04-26 13:50:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,其中也包含标题。标题与所有列表不匹配,并且并非所有列表都具有相同的计数。大概是这样的:

[
[['Row', '1'], ['header1', '1.23'], ['header2','5.67'], ['header3','6.55']],
[['Row', '2'], ['header2','19.67'], ['header3','9.55']],
[['Row', '3'], ['header2','19.67'], ['header3','9.55'], ['header4','16.88']]
]

我想将其转换为CSV,所有标题值均已填充,缺少的标题值均已填充“N/a”

像这样:

Row, Header1, Header2, Header3, Header4
1, 1.23, 5.67, 6.55, N/A
2, N/A, 19.67, 9.55, N/A
3, N/A, 19.67, 9.55, 16.88

我想知道该怎么做


Tags: csv标题列表row计数header1header2header3
1条回答
网友
1楼 · 发布于 2024-04-26 13:50:52

您可以将数据结构转换为字典列表。然后可以使用^{}

import pandas as pd

data = [
[['Row', '1'], ['header1', '1.23'], ['header2','5.67'], ['header3','6.55']],
[['Row', '2'], ['header2','19.67'], ['header3','9.55']],
[['Row', '3'], ['header2','19.67'], ['header3','9.55'], ['header4','16.88']]
]

df = pd.DataFrame.from_records(map(dict, data)).set_index("Row").fillna("N/A")
#     header1 header2 header3 header4
# Row                                
# 1      1.23    5.67    6.55     N/A
# 2       N/A   19.67    9.55     N/A
# 3       N/A   19.67    9.55   16.88
df.to_csv("file.csv")

相关问题 更多 >