如何用pandas展开列表数据,导出csv时每个数组值单独占单元格
问题原因
你原本使用pd.Series构造的是一维数据结构,Hand、Pose会作为序列的索引,对应存储的是完整的alldata、keypoints列表,自然会被写入同一个单元格。且df.transpose()写在to_csv之后,不会对已导出的文件产生任何作用。
修改方案
将构造对象替换为pd.DataFrame即可,它会自动把字典的键作为列名,列表中的每个元素按行展开,要求两个列表长度一致、同索引位置对应同一份样本:
import pandas as pd array_all = {'Hand': alldata, 'Pose': keypoints} # 直接用DataFrame构造二维表 df = pd.DataFrame(array_all) # 导出时关闭索引输出即可 df.to_csv('test.csv', mode='w', header=True, index=False)
如果你的alldata和keypoints长度不一致,可以先对较短的列表补空值再构造DataFrame,避免报错。
内容的提问来源于stack exchange,提问作者Dinuli Thalakumbura
相关产品推荐
相关产品推荐

