gpt4 book ai didi

javascript - CSV 格式破坏了我替换客户数据的算法

转载 作者:行者123 更新时间:2023-12-03 03:47:23 26 4
gpt4 key购买 nike

我正在尝试创建一个脚本,用随机选择的名称替换客户数据(例如公司名称)。我的问题是 CSV 文件(第 3 行)在列数据内有一个中断

(“登录:#BREAK# #BREAK# 用户名 #BREAK# 电子邮件 #BREAK# 密码:************”)。

我的示例 CSV 文件看起来像这样(我已缩写它并替换了客户数据):

"607";"2017-07-10 16:28:32";"2017-07-10 16:28:32";"686";"companyName";"street";"PLZ";"CITY";"";"0";"";"1";"N";"F";"customer";"0";"4";"7";"1";"z";"d";"d";"d";"d";"d";"0";"Y";"0";"75";"0";"0"
"608";"2017-07-10 16:28:32";"2017-07-10 16:28:32";"687";"companyName";"street";"PLZ";"CITY";"";"0";"";"1";"N";F";"customer";"0";"5";"12";"1";"z";"Y";"d";"d";"d";"d";"0";"Y";"0";"75";"0";"0"
"609";"2017-07-10 16:28:32";"2017-07-10 16:28:32";"688";"companyName";"Street";"PLZ";"City";"";"0";"Login:

USERNAME
EMAIL
Passwort: *******************";"0";"N";"";"";"0";"299";"170";"0";"k";"Y";"d";"d";"d";"d";"0";"";"0";"0";"0";"0"
"610";"2017-07-10 16:28:32";"2017-07-10 16:28:32";"689";"companyName";"Street";"PLZ";"City";"";"0";"";"0";"N";"";"customer";"0";"9";"12";"0";"k";"d";"d";"d";"d";"d";"0";"";"0";"0";"0";"0"
"611";"2017-07-10 16:28:32";"2017-07-10 16:28:32";"690";"companyName";"Street";"PLZ";"City";"";"0";"";"0";"N";"";"customer";"0";"24";"21";"0";"k";"Y";"d";"d";"d";"d";"0";"";"0";"0";"0";"0" '

在我的脚本中,我写道,每次中断之后,数组都会获取上次中断之后和下一次中断之前的所有内容的值。

为了更好地理解:第一次循环后数组看起来像这样:

"607";"2017-07-10 16:28:32";"2017-07-10 16:28:32";"686";"companyName";"Street";"PLZ";"City";"";"0";"";"1";"N";"";"customer";"0";"4";"7";"1";"z";"d";"d";"d";"d";"d";"0";"Y";"0";"75";"0";"0""

数组的大小为 31。但是当执行 CSV 文件的 ID“609”时,我会得到(当然)这样的结果:

"609";"2017-07-10 16:28:32";"2017-07-10 16:28:32";"688";"companyName";"Street";"PLZ";"City";"";"0";"Login:

所以我的整个算法失败了。

这是我的上传功能:

function Upload() {
var vorname = []; // actually 1000 first names
var nachname = []; // acutally 1000 surnames
var cells;
var strWholeFile = "";
var lineToReplace = 4;
var counter;
var fileUpload = document.getElementById("fileUpload");
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.csv|.txt)$/;
if (regex.test(fileUpload.value.toLowerCase())) {
if (typeof (FileReader) != "undefined") {
var reader = new FileReader();

/* Reader.onload function */
reader.onload = function (e) {
var rows = e.target.result.split("\n");
rows.length = rows.length - 1;
console.log(strWholeFile);

/** For every "return" the loop will
* be executed once **/
for (var i = 0; i < rows.length; i++) {

if (i == 0) {
cells = rows[i].split(";");
counter = cells.length;
}
else {
cells = rows[i].split(";");
}

if (cells.length == counter && i != 0) {
cells[lineToReplace] = "\"" + vorname[getRandom(0, 999)] + " " + nachname[getRandom(0, 999)] + "\"";
}

console.log(strWholeFile);

/** For every column the loop will
* be executed once **/
for (var j = 0; j < cells.length; j++) {
strWholeFile += cells[j] + ";";
console.log(strWholeFile);
}
if (cells.length == counter) {
strWholeFile += "\n";
console.log(strWholeFile);
}
}
};
reader.readAsText(fileUpload.files[0]);
}
else {
alert("Dieser Webbrowser unterstützt kein HTML5.");
}
}
else {
alert("Bitte wählen Sie einen gültige CSV-Datei aus.");
}
}

你们中有人对如何解决我的问题有聪明但仍然简单的想法吗?我已经学习 Javascript 1 个月了,所以我不太了解 JavaScript(我不是新兵)。

最佳答案

我改变了线路

var rows = e.target.result.split("\n");

var rows = e.target.result.split("\"\n");

CSV 文件行的每一端如下所示:

"data"#BREAK

因此,我不是只查询中断,而是查询引号和中断

行尾示例:

"data"#Break

内部数据中断示例:

"Login#BREAK

Email[...]"

关于javascript - CSV 格式破坏了我替换客户数据的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45324422/

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