使用pandas将列表对象按列写入CSV文件的问题咨询
问题原因
你现在生成的CSV不符合预期,核心是构造字典时给每个字段传入的是[列表]格式:相当于把整个alldata/keypoints/face_position列表当成了单个元素,生成的DataFrame每列只有1行,单元格内容就是整个列表的字符串序列化结果。
修复方法
alldata、keypoints、face_position三个列表的长度完全相同(都是遍历关键点列表生成的,每个元素对应同一个关键点的识别结果),直接把三个列表本身作为字典的值传入即可,不需要额外套一层列表。
修改后的代码如下:
array_all = {'Hand': alldata, 'Pose': keypoints, 'Face Pose': face_position} df = pd.DataFrame(array_all) df.to_csv('test.csv', mode='w', index=False, header=True)
修改后生成的DataFrame每一行会对应三个列表相同索引位置的元素,完全匹配你期望的CSV格式。
内容的提问来源于stack exchange,提问作者Dinuli Thalakumbura
相关产品推荐
相关产品推荐

