Python从指定字符串列表生成字典报错,求正确实现方案
解决Python生成DataFrame列字典的错误
你遇到的ValueError是因为dict()函数不能直接解析你拼接出来的字符串内容——它需要的是键值对组成的可迭代序列(比如元组列表),而不是类似"'a'=df2['a']"的文本字符串。
正确实现方式
不需要把键值对拼成字符串,直接基于列名构建字典即可,两种简单方法:
方法1:循环构建
list_columns = list(df2.columns) dictionary = {} for row in list_columns: dictionary[row] = df2[row] print(dictionary)
方法2:字典推导式(更简洁)
这是Python中更推荐的写法:
dictionary = {col: df2[col] for col in df2.columns} print(dictionary)
错误原因说明
你之前的代码把列名和对应列对象拼接成了字符串文本,但这些字符串只是字符组合,并没有实际关联到df2的列对象。dict()函数无法识别这种格式的字符串,自然会抛出序列长度错误。
内容的提问来源于stack exchange,提问作者Junior P
相关产品推荐
相关产品推荐

