如题 现在有一个<class 'bs4.element.NavigableString'>type的数据
打印出来是这个样的
[u'3788.00', u'4788.00', u'6388.00', u'2398.00', u'5687.00', u'4088.00', u'4187.00', u'4087.00', u'2587.00', u'5188.00', u'4887.00', u'4287.00', u'4887.00', u'5787.00', u'4887.00', u'4888.00', u'\u8d27\u5230\u4ed8\u6b3e', u'6388.00', u'4987.00', u'5588.00', u'5588.00', u'5588.00', u'3288.00', u'3888.00', u'4788.00', u'4788.00', u'4788.00', u'4788.00', u'5588.00', u'4088.00', u'4788.00', u'4788.00', u'5588.00', u'5588.00', u'6388.00', u'6388.00', u'4788.00', u'5588.00', u'4988.00', u'4788.00', u'6388.00', u'6388.00', u'6388.00', u'5588.00', u'5588.00', u'5588.00', u'6388.00', u'5588.00', u'5588.00', u'4788.00', u'6388.00', u'6388.00', u'6388.00', u'5588.00', u'5588.00', u'6588.00', u'6588.00', u'5588.00', u'5588.00', u'5788.00']
当我用int()类型转换时 提示我:
ValueError: invalid literal for int() with base 10: '3788.00'
然后就在网上看到有网友说用 round(float(Price))的方法可行 #Price就是那个'class 'bs4.element.NavigableString'类型的数据
但是提示的是:
UnicodeEncodeError: 'decimal' codec can't encode characters in position 0-3: invalid decimal Unicode string
这种情况下如何解决呢? BTW我是想用list.append方法把上面这个列表添加到其他列表的时候出现的报错(可是明明昨晚还能运行的T-T)
Il est possible d'utiliser
pour
float
, mais il existe unu'u8d27u5230u4ed8u6b3e'(货到付款)
qui ne peut pas être converti en nombre à virgule flottante. Supprimez simplement cet élément ou ignorez-le lors du traitement.Ajoutez encode('utf-8') après les données que vous souhaitez générer
Tout d'abord, le type de données que vous traitez est <class 'bs4.element.NavigableString'>type
Il s'agit de données de type NavigableString en HTML lues avec BeautifulSoup.
En fait, lors de la lecture avec BS4, vous devez utiliser l'encodage pour ajuster les données du HTML en utf-8
Exemple :
Ensuite, les données de type NavigableString affichées dans les balises Unicode ci-dessus seront affichées normalement.