我正在用pandas.read_html
读取一个xlm文件,它的工作几乎完美无瑕,问题是该文件使用逗号作为十进制分隔符而不是点(默认的read_html
)。在
我可以很容易地在一个文件中用圆点替换逗号,但我有将近200个文件使用这种配置。
使用pandas.read_csv
可以定义十进制分隔符,但我不知道为什么在pandas.read_html
中只能定义千位分隔符。在
这件事有什么指导吗?,在pandas打开逗号/点之前,还有另一种方法可以自动替换逗号/点?
提前谢谢!在
Tags:
谢谢@zhqiat。我认为升级
pandas
到版本0.19
可以解决这个问题。不幸的是,我找不到一个简单的方法来实现这一点。我找到了一个升级Pandas的教程,但是针对ubuntu(winXP用户)。在最后,我选择了解决方法,使用post here方法,基本上将所有列逐个转换为
pandas.Series
的数字类型我知道这个办法不是最好的,但很管用。谢谢
直到我同时使用了decimal='、'和千分位=',这才开始对我起作用
熊猫版本:0.23.4
所以尽量使用十进制和千分位: 即。:
pd.read_html(io="http://example.com", decimal=',', thousands='.')
在此之前,我只使用decimal=','并且数字列将被保存为str类型,数字只是省略逗号。(奇怪的行为)例如0,7将是“07”,“1,9”将是“19”
它仍然以str类型保存在dataframe中,但至少我不需要手动添加点。数字显示正确;0,7->;“0.7”
查看read_html的源代码
函数头表示函数调用中有一个十进制分隔符。在
在文档的后面,这看起来像是在0.19版本中添加的(所以在实验分支的后面一点)。你能升级你的熊猫吗?在
相关问题 更多 >
编程相关推荐