从网络导入 Mathematica 中的表格 - 空单元格问题

2023-12-26

I use:
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 表中的一个单元格为空,例如“Age”的条目,则在 html 中将如下所示:<td></td>。 Mathematica 根本不包括将其放入列表中,甚至不包括“Null”值。相反,这一行将仅由长度为 3 的列表表示,并且数据将移动一列,因此您将得到“射门数”来代替“年龄”和“进球数”来代替“射门数”和“进球数” “将是空的。 例如,年龄未知(html 表格中的空单元格)的“P4”,他有 10 次射门并进了 0 个进球,将作为长度为 3 而不是 4 的列表导入,并移动 1:

Player Age Shots Goals
  P1    24    10    2 
  P2    22     5    0
  P3    10     0  
  ...

这提出了一个难题,因为如果您有一些空字段,那么您无法从列表中判断它属于哪一列。在 Mathematica 中导入时,有没有办法在 html 表格中的空单元格上放置“Null”?例如,列表中的 P4 元素如下所示:
data[[1,5]]
{"P4","Null",10,0}
代替:
{"P4",10,0}


正如 lumeng 指出的那样,您可以使用FullData使 HTML 表格元素正确填写。这是一个更简单的说明。

in = ImportString["\<<html><table>
   <tr>
   <td>(1,1)</td>
   <td>(1,2)</td>
   <td>(1,3)</td>
   </tr>
   <tr>
   <td>(2,1)</td>
   <td></td>
   <td>(2,3)</td>
   </tr>
   </table></html>\>",
   {"HTML", "FullData"}];
Grid[in[[1, 1]]]

如果您想更完整地控制输出,我建议您ImportXML 格式的页面。这是一个例子。

in = ImportString["\<<html><table>
    <tr>
    <td>(1,1)</td>
    <td>(1,2)</td>
    <td>(1,3)</td>
    </tr>
    <tr>
    <td>(2,1)</td>
    <td></td>
    <td>(2,3)</td>
    </tr>
    </table></html>\>", "XML"];
Column[Last /@ Cases[in,
   XMLElement["td", ___], Infinity]]

您需要阅读一些有关 XML 的一般知识和 Mathematica 的版本,即XMLObject。不过,一旦你掌握了它的窍门,与它一起工作是一件很愉快的事。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从网络导入 Mathematica 中的表格 - 空单元格问题 的相关文章

随机推荐

  • 操作栏 — 带有文本和图像的子菜单项无法正常工作

    我正在开发小型 Android 应用程序 其中使用操作栏和一些菜单项 一个菜单项包含子菜单 现在我想做的是始终显示带有文本和图标的菜单项 我按以下方式定义菜单项 menu menu
  • 关于 IIS 中最大文件上传大小的建议

    我意识到这个问题的答案取决于所使用的特定服务器 但很好奇人们是否对 ASP NET Web 表单允许的最大文件大小限制有建议 在一家印刷公司工作 希望允许图形设计师上传 我知道他们会超出我给他们的任何限制 您需要让您的用户满意 如果他们需要
  • 如何解决错误 ORA-06413:连接未打开?

    我本地环境VS2012 使用 Oracle 10g XE Dim dbConn As New OleDbConnection Dim dbComm As OleDbCommand dbConn ConnectionString Provid
  • MSI 可以与 EF Code First 一起使用吗?

    我已经在这个问题上陷入了很长一段时间 没有运气能够独自推进它 我正在尝试使用 MSI 令牌从 Azure 应用服务连接到 EF CodeFirst 托管数据库 当我使用 ARM 部署应用服务时 我生成了一个输出 确保它创建了一个服务主体 p
  • 防止 PHP 等待 mail() 函数

    在我的 Web 应用程序中 当用户对其帐户进行更改时 我调用 php mail 函数向该用户发送电子邮件通知 实施此操作后 我发现帐户更改操作需要非常长的时间 gt 20 秒 才能完成 我怀疑这是因为 PHP 等待 mail 函数发送电子邮
  • 使用 Tensorflow 训练时修改张量的值

    当我使用 Tensorflow 训练模型时 我想修改张量的值 这个张量是我的模型中的张量之一 weight tf Variable np matrix 经过一些迭代后 值weight将自动更新 我的问题是 如何修改weight非自动地 我已
  • 对象行为不正确

    我正在使用 Livewires 和 pygame 游戏中为您提供额外生命的对象之一被误认为是小行星对象 当额外生命对象与玩家碰撞时 它返回 额外生命对象没有属性 handle caught 错误消息 所以我可以提供一些帮助吗 class E
  • 使用 cert-manager 和 Nginx ingress 进行 404 质询响应

    我想得到LetsEncrypt 证书管理器 https cert manager io docs installation kubernetes 运行通过this https hub helm sh charts jetstack cert
  • 如何在Mac OS X下用C设置文件的创建日期?

    Mac OS X 存储文件创建时间 我知道如何读取它stat from
  • 如何构建 OleDbCommand 查询,以便可以从一个 .MDB 中获取表,并将其替换到另一个 .MDB 中

    我正在尝试从一个 Access 数据库文件中获取表 将它们添加到另一个结构完全相同但信息不同的 Access 数据库文件中 我需要覆盖任何现有的表 我的项目快完成了 这是我最后的砖墙 我使用名为 DatabaseHandling cs 的单
  • 进行顺序比较的优雅方法 (C++)

    假设我有一个包含多个成员变量的类 class MyClass std string a int b SomeOtherClass c some stuff public some other stuff 我想定义关系运算符 operator
  • Android中使用NDK(C/C++)对图像应用灰度效果

    我想使用 NDK 将灰度效果应用于图像 为此 我在谷歌上搜索了很多 但发现了相同的结果 该结果返回的图像有点像负片 这就是我所相信的 我想要的是 例如 我有这张原图 应用灰度效果后应该是这样的 我已经尝试过 我想使用 NDK 实现此功能 因
  • 将从 Urlretrieve 下载的文件保存到其他文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 目前 此功能正常工作 并且可以正确下载文件 但将它们放在运行它的同一文件夹中 但我该如何将它们移动到 c downloads 或类似的文件
  • 如何使用修改后的标头进行 HTTP GET?

    在 Ruby 中使用修改后的标头发出 HTTP GET 请求的最佳方法是什么 我想从日志文件末尾获取一系列字节 并且一直在玩弄以下代码 但是服务器返回一个响应 表示 这是服务器无法理解的请求 服务器是阿帕奇 require net http
  • 在 ol 项目 html 上实现子编号

    我不确定它叫什么 但是否可以实现以下格式 1 1 1 1 2 1 2 1 1 2 2 1 3 我想就这些了 谢谢 事实上 有几种选项在鲁棒性和支持方面有所不同 在生成列表的代码中执行此操作 提供了is毕竟生成了 HTML 维基百科就是这样做
  • NSMutableString appendString 生成 SIGABRT 错误

    新来的 这个论坛和 Xcode 所以请耐心等待 在过去的几天里 我断断续续地花了几个小时试图找出我在这里到底做错了什么 但我似乎无法找出我的问题 这是我的代码的相关部分 我相信 在标题中 interface BlahViewControll
  • 如何从反应本机页面返回本机视图控制器?

    我用一个包装了一个反应本机页面UIViewController 并用导航控制器推送它 但是如何使用react native js代码弹出到本机页面 最简单的方法是拥有一个引用您的属性UIViewController在你的AppDelegat
  • 加速 RcppArmadillo:如何链接到 R 包中的 OpenBlas

    我正在开发一个使用 RcppArmadillo 的 R 包 我正在尝试利用 OpenBLAS 中更快的矩阵乘法 在里面文档 http arma sourceforge net faq html blas lapack replacement
  • 为什么不能直接将带有小数点的数字分配给十进制类型而不使用类型后缀?

    为什么不能直接将带小数点的数字赋给十进制类型而不使用类型后缀 这种数字不就被认为是小数类型的数字吗 decimal bankBalance 3433 20 ERROR Edit 我可能错过了问题的最后一部分 所以下面的概述几乎没有用 不管怎
  • 从网络导入 Mathematica 中的表格 - 空单元格问题

    I use data Import http weburl Data 从一个站点导入数据 该页面上有表格 这将创建嵌套列表 您可以轻松获取表格形式的数据 例如 Grid data 1 会给出这样的东西 Player Age Shots Go