我使用以下代码从网站中导入数据:
data=Import["http://weburl/","Data"]
在该页面上有表格。这将创建嵌套列表,您可以轻松地以表格形式获取数据。例如:
Grid[data[[1]]]
将会得到类似这样的结果:
Player Age Shots Goals
P1 24 10 2
P2 22 5 0
P3 28 11 1
...
现在,问题就在这里。如果html表格中有一个单元格为空,例如“年龄”条目,则在html中它看起来像这样:<td></td>
。Mathematica根本不会将其包含在列表中,甚至不会将其作为“Null”值。相反,该行将仅由长度为3的列表表示,并且数据将移动一列,因此您将得到“射门”代替“年龄”,而“进球”代替“射门”,而“进球”将为空。
例如,一个年龄不详(html表格中的空单元格)的“P4”,他有10次射门和0个进球,将被导入为长度为3的列表,而不是4,并且会向后移一位:
Player Age Shots Goals
P1 24 10 2
P2 22 5 0
P3 10 0
...
这是一个棘手的问题,因为如果你有几个空字段,则无法从列表中确定它属于哪一列。在将html表导入Mathematica时,是否有一种方法在空单元格上放置“Null”?例如,列表中的P4元素应如下所示:
data[[1,5]]
{"P4","Null",10,0}
而不是:
{"P4",10,0}