python - 如何解决 "If using all scalar values, you must pass an index"问题pandas

标签 python pandas web-scraping indexing scalar

继我之前的 question ,一切都运行良好,但是当列表很长时,就会显示这个错误, 这是一个简单的 d :

['Houda Golf & Aquapark Novostar Monastir ', " {'All Inclusive soft': ('202', '175', '15%'), 'Demi Pension': ('161', '140', '15%'), 'Petit Dejeuner': ('137', '119', '15%'), 'DP plus': ('237', '119', '15%')}"]

有人知道我该如何修复它吗?预先感谢您。

注意:我已经尝试了响应中的几种解决方案 here但它们对我不起作用

enter image description here

最佳答案

尝试将字典的值转换为列表(如果它们是标量):

from ast import literal_eval


vals = literal_eval(d[1].strip())
df = pd.DataFrame(
    {k: v if isinstance(v, (list, tuple)) else [v] for k, v in vals.items()}
)
print(df)

关于python - 如何解决 "If using all scalar values, you must pass an index"问题pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69131598/

相关文章:

python - 在 __init__ 的 scrapy 管道中使用参数

python - Cython纯python模式

python - 新行/制表符在生成的文档中变成空格

python flask : mimic werkzeug FileStorage object

python - Pandas - 将 AM/PM 格式更改为 24 小时制

python - 对 pandas 数据帧列表上的函数进行向量化

python - 类型错误 : cannot convert the series to <class 'float' >

python - Web抓取中的多级标记存在检查-提高python的可读性

Python 3 - 方法文档字符串继承而不破坏装饰器或违反 DRY

python - 无法使用请求从下一页中抓取姓名