【问题标题】:Converting text file into a table将文本文件转换为表格
【发布时间】:2018-07-24 02:57:07
【问题描述】:

我有一个文本文件,其中包含我试图以表格格式显示的代码。第一栏应该是水果的种类,第二栏应该是吃的数量,第三栏应该是购买的数量,第四栏应该是购买的日期和时间。

我尝试解析数据并将其记录到控制台。这似乎可以更好地可视化数据,但老实说,我不知道如何在表格中实际显示数据。我对 Javascript 编码真的很陌生,所以我不太了解这种语言。

这是我在这个网站上的第一篇文章,所以我不确定我是否正确地发布了这篇文章。

link to代码:https://pastebin.com/PxYASR2T

【问题讨论】:

  • 欢迎来到 StackOverflow。请将您的代码添加到代码 sn-p 中并创建一个 minimal reproducible example 来表示您尝试解决该问题。 (包括您登录到控制台的部分) - 这将使问题自给自足(如果外部链接停止工作,这将使问题不完整/无法解决)

标签: javascript arrays multiple-columns


【解决方案1】:

您可以将数据解析为如下可用的格式,将其挂载为表格可以通过多种方式完成,例如https://www.npmjs.com/package/tableifyConvert JSON array to an HTML table in jQuery

const parsedData = getData()
  .split('\n')
  .filter(x => !!x && !x.match(/x{2,}/))
  .map(fruitRow => {
    const thisSplit = fruitRow.split(/[-–-]/)
    return {
      fruit: thisSplit[3].replace(/\s+/g, ''),
      eaten: thisSplit[4].match(/\d+/)[0],
      bought: thisSplit[6].replace('\n', '')
    }
  })
  .filter(x => !!x)
  
console.dir(parsedData)

function getData() {
  return data = `
2018-07-23 07:33:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 1- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 07:43:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 2- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 08:03:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 2- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 08:53:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 3- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 09:03:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 3- No of fruit bought –1
2018-07-23 09:03:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 1- No of fruit bought –0
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 09:23:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 3- No of fruit bought –1
2018-07-23 09:23:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 1- No of fruit bought –0
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 09:33:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 4- No of fruit bought –0
2018-07-23 09:33:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 2- No of fruit bought –0
2018-07-23 09:33:38 INFO  TestJsonSyncUtil:237  - Strawberry – No of fruit eaten 0- No of fruit bought –1
2018-07-23 09:33:38 INFO  TestJsonSyncUtil:237  - Mango – No of fruit eaten 0- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 09:43:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 4- No of fruit bought –0
2018-07-23 09:43:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 4- No of fruit bought –2
2018-07-23 09:43:38 INFO  TestJsonSyncUtil:237  - Strawberry – No of fruit eaten 0- No of fruit bought –1
2018-07-23 09:43:38 INFO  TestJsonSyncUtil:237  - Mango – No of fruit eaten 0- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 09:53:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 4- No of fruit bought –0
2018-07-23 09:53:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 5- No of fruit bought –1
2018-07-23 09:53:38 INFO  TestJsonSyncUtil:237  - Strawberry – No of fruit eaten 0- No of fruit bought –1
2018-07-23 09:53:38 INFO  TestJsonSyncUtil:237  - Mango – No of fruit eaten 0- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 10:03:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 4- No of fruit bought –0
2018-07-23 10:03:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 6- No of fruit bought –1
2018-07-23 10:03:38 INFO  TestJsonSyncUtil:237  - Strawberry – No of fruit eaten 0- No of fruit bought –1
2018-07-23 10:03:38 INFO  TestJsonSyncUtil:237  - Mango – No of fruit eaten 0- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 10:13:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 4- No of fruit bought –0
2018-07-23 10:13:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 9- No of fruit bought –2
2018-07-23 10:13:38 INFO  TestJsonSyncUtil:237  - Strawberry – No of fruit eaten 0- No of fruit bought –1
2018-07-23 10:13:38 INFO  TestJsonSyncUtil:237  - Mango – No of fruit eaten 0- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 10:23:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 4- No of fruit bought –0
2018-07-23 10:23:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 9- No of fruit bought –1
2018-07-23 10:23:38 INFO  TestJsonSyncUtil:237  - Strawberry – No of fruit eaten 0- No of fruit bought –1
2018-07-23 10:23:38 INFO  TestJsonSyncUtil:237  - Mango – No of fruit eaten 0- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 10:33:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 4- No of fruit bought –0
2018-07-23 10:33:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 10- No of fruit bought –1
2018-07-23 10:33:38 INFO  TestJsonSyncUtil:237  - Strawberry – No of fruit eaten 0- No of fruit bought –1
2018-07-23 10:33:38 INFO  TestJsonSyncUtil:237  - Mango – No of fruit eaten 0- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2018-07-23 10:43:38 INFO  TestJsonSyncUtil:237  - Apple – No of fruit eaten 10- No of fruit bought –3
2018-07-23 10:43:38 INFO  TestJsonSyncUtil:237  - Banana – No of fruit eaten 10- No of fruit bought –0
2018-07-23 10:43:38 INFO  TestJsonSyncUtil:237  - Strawberry – No of fruit eaten 0- No of fruit bought –1
2018-07-23 10:43:38 INFO  TestJsonSyncUtil:237  - Mango – No of fruit eaten 0- No of fruit bought –1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
`;
}

【讨论】:

  • 谢谢!我会试试这个。
【解决方案2】:

您需要将文本转换为 JSON 格式,然后您可以使用 AJAX 调用将 JSON 文本轻松呈现到表格中。

【讨论】:

  • 你不需要 AJAX 将 JSON 渲染成 HTML 表格
  • 请多解释,我想知道你的看法。
  • JSON 是 JavaScript Object Notation - 一种用于存储和交换数据的机制。它与异步 Javascript 和 XML 调用无关——您可以使用纯 JS 将 JSON 解析为表格。无需涉及 Asyn 或 XML
猜你喜欢
  • 2019-04-07
  • 2016-01-06
  • 2012-06-21
  • 1970-01-01
  • 2019-06-20
  • 2013-11-11
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
相关资源
最近更新 更多