【问题标题】:Get value after last comma in CSV file in Javascript/HTML获取 Javascript/HTML 中 CSV 文件中最后一个逗号后的值
【发布时间】:2021-11-28 18:57:17
【问题描述】:

注意:我尝试使用d3js,但我接受任何其他使用模式,获得预期值任何方法对我来说都是积极的。

提交./Lista_de_Jogos.csv的示例:

a,b,c,d,e,1
f,g,h,i,j,2

我总是想收集CSV 的最后一个值,不管它的大小,在这个例子中,这个值是:

2

我的尝试是:

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/7.1.1/d3.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/d3-fetch@3"></script>

<script>
   function lastvalue() {
      let lastvalue = d3.csv("./Lista_de_Jogos.csv");
      var lastvaluelast = lastvalue.substr(lastvalue.lastIndexOf(',') + 1);
      console.log("Last Value: ", {lastvaluelast})
   }
</script>

但我无法获得价值的回报,我应该如何继续接收这样的价值?

我已经在 stackoverflow 上搜索过,但找不到 Javascript/HTML 的示例

【问题讨论】:

  • 为什么你不能得到想要的值?显示什么错误?
  • 晚安朋友 @testing_22 ,该值根本没有在 DevTools 中传递。我不明白会发生什么。
  • 你需要使用 Promise,因为它会产生一个 HTTP 请求并且这不是即时的

标签: javascript html d3.js


【解决方案1】:

您需要等待承诺解决。使用then

function lastvalue() {
    d3.csv("./list.csv").then(result => {
        console.log('result:', result)
        const lastRow = result[result.length - 1]
        console.log('lastRow:', lastRow)
        const lastValue = lastRow[result.columns[result.columns.length - 1]]
        console.log('lastValue:', lastValue)
    });
}

lastvalue()

【讨论】:

  • 嗨@stoin,我对你的提示的测试中的错误是Uncaught (in promise) TypeError: lastvalue.substr is not a function
  • 那是因为lastvalue的返回值是一个列表,而不是一个字符串。这是它返回的内容:i.imgur.com/h1ULMOX.png
  • 嗨@Clvckl3s,但我需要的是文件中的最后一个值(2),我认为小费就是为此。如果我不明白,我很抱歉!
  • 嗨@BrondbyIF。是的,d3 的结果不是您预期的形状。我更新了我的答案 - 我认为它现在对你有用。
  • 嗨@Stoen 完美的朋友,非常感谢你,对于我无法跟上的基本疑问,我很抱歉,我正在学习,但我仍然有 javascript/html 的困难
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 2021-11-11
  • 2021-11-28
相关资源
最近更新 更多