gpt4 book ai didi

javascript - 读取数据对象的单元格内容

转载 作者:行者123 更新时间:2023-12-03 04:28:36 24 4
gpt4 key购买 nike

我使用 javascript 代码读取了一个 csv 文件,我想将其推送到一个 2D 数组中以便进行一些处理

var dataArray = new Array;
function parseCSV(dataArray) {
//replace UNIX new lines
data = data.replace(/\r\n/g, "\n");
//replace MAC new lines
data = data.replace(/\r/g, "\n");
//split into rows
var rows = data.split("\n");

// loop through all rows
for (var i = 0; i < rows.length; i++) {
// this line helps to skip empty rows
if (rows[i]) {
// our columns are separated by comma
var column = rows[i].split(",");


var date=column[0];
var value = column[4];

// create object which contains all these items:
var dataObject = {
date: date,
T4: value
};
dataArray.push(dataObject);
}
}
}
}

作为测试,我尝试读取单元格内容并显示在网页上以验证我是否读取了该文件。

<script type="text/javascript">
var x= dataArray[1][4];
document.write(x);
</script>

但它没有显示任何内容。谁能帮忙吗?

最佳答案

var dataArray = new Array;

var data = "Date,Description,Created By,Modified By,T4 Tag\n";
data += "20170424,This is record 1,user1,none,Just work please.\n";
data += "20170424,This is record 2,user2,none,I'm trying too.\n";

function parseCSV(dataArray) {
//replace UNIX new lines
data = data.replace(/\r\n/g, "\n");
//replace MAC new lines
data = data.replace(/\r/g, "\n");
//split into rows
var rows = data.split("\n");

// loop through all rows
for (var i = 0; i < rows.length; i++) {
// this line helps to skip empty rows
if (rows[i]) {
// our columns are separated by comma
var column = rows[i].split(",");


var date=column[0];
var value = column[4];

// create object which contains all these items:
var dataObject = {
date: date,
T4: value
};
dataArray.push(dataObject);
}
}
}
parseCSV(dataArray);

由于缺少文件,我将一些 CSV 数据强制转换为字符串进行处理。您的问题没有显示这两项:

  1. 您如何设置变量数据
  2. 您如何调用parseCSV(dataArray)

如果存在这两件事,则一切都应该有效 - Here's the proof

<小时/>

就 html 脚本部分而言:

你的数组寻址看起来错误 - 看起来应该是这样的:

<script>
var x = dataArray[1].T4;
document.write(x);
</script>
<小时/>

这是我的推理:

我知道您正在将 CSV 数据传递给此函数,以便将其解析到您的 dataArray 变量中 - 正确吗?

如果正确,此数据将看起来像我手动添加的(我直接添加此数据只是为了处理某些内容)。

更大的问题不是数据来自哪里,而是最终由这个 parseCSV 函数解析。

发生这种情况时,您将通过以下方式构建附加到空 dataArray 变量:

对于第一遍,这将如下所示:

[{"date": "日期", "T4": "T4 标签"}]

对于第二遍:

[{"date": "Date", "T4": "T4 Tag"}, {"date": "20170424", "T4": "请工作。"}]

对于第三遍:

[{"date": "Date", "T4": "T4 Tag"}, {"date": "20170424", "T4": "请工作。"}, {"date": "20170424", "T4": "我也在尝试。"}]

因此,现在当您处于 html 代码部分时,您没有地址 [4] 的键。

你的代码说:

var x = dataArray[1][4];

请考虑以下几点来了解我的意思:

var record = dataArray[1];
//{"date" : "20170424", "T4" : "Just work please."}
//There is no key 4 here only date & T4.
var date = record.date;//returns: "20170424"
var t4 = record.T4;//returns: "Just work please."

相比之下,如果您有以下情况 - 您的方法将会起作用

myObj = {"date" : "20170424", "4" : "This is a value for field 4", "T4" : "Just work please."}
myObj[4];//returns "This is a value for field 4";

希望这能足够清楚地解释它。

关于javascript - 读取数据对象的单元格内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43594165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com