我有一个包含大约15000个值的xml文件。我用
import xml.etree.ElementTree as ET
我如何提取值的一个例子是
def get_year1_quantity(element):
return element[5][0].text
我得到了所有的数据,将不同的值放入列表中,然后将它们放入pandas数据帧中。在
我试图通过以下方式筛选数据:
filtered=this[this.Year1_Q > this.Year2_Q]
在我查看csv文件中的数据之前,一切进展顺利。只有少数值作为字符串加载。它们以浮点或int形式进入excel,具体取决于值。我试过了
Year1_Q=[map(int, x) for x in Year1_Q]
Year1_P=[map(float, x) for x in Year1_P]
Year2_Q=[map(int, x) for x in Year2_Q]
Year2_P=[map(float, x) for x in Year2_P]
但它给了我一个错误,Year1_Q=[map(int,x)for x in Year1\u Q]
ValueError:无法将字符串转换为int:
有些数字作为数字加载,而另一些作为字符串加载对我来说没有意义。它们在xml文件中是相同的。在
以前有人遇到过这种问题吗?在
我尝试了this[columns]=this[columns].astype(float)
,但float()的文本无效:6625.00
XML是一个文本文件,只有您知道它应该被解释为字符串还是数字。当在Python中需要它作为一个数字时,必须显式地转换它(就像使用map一样)。CSV也是一种文本格式。在
你可以用
使有问题的值可见。在
CSV不是本机Excel格式。Excel可能是一个值得指责的工具。当您双击CSV文件或启动Excel并通过菜单打开CSV文件时,结果可能会有所不同(至少对于一些旧版本的Excel来说,这是一个真实的观察)。在
相关问题 更多 >
编程相关推荐