Javascript 读取文本文件的一部分,其中的值用“,”分隔&引用;插入到数组中
我有一个文本文件需要读取。 文本文件的示例如下所示:Javascript 读取文本文件的一部分,其中的值用“,”分隔&引用;插入到数组中,javascript,html,arrays,file,Javascript,Html,Arrays,File,我有一个文本文件需要读取。 文本文件的示例如下所示: Login,Name,Surname Rd-001,Raj,Dolka RS-932,Ram,Selmen <!DOCTYPE html> <html> <head> <title>reading file</title> <script type="text/javascript"> var reader = new FileReader(); function re
Login,Name,Surname
Rd-001,Raj,Dolka
RS-932,Ram,Selmen
<!DOCTYPE html>
<html>
<head>
<title>reading file</title>
<script type="text/javascript">
var reader = new FileReader();
function readText(that){
if(that.files && that.files[0]){
var reader = new FileReader();
reader.onload = function (e) {
var output=e.target.result;
//process text to show only lines with "-":
output=output.split("\n").filter(/./.test, /\-/).join("\n");
document.getElementById('main').innerHTML= output;
};//end onload()
reader.readAsText(that.files[0]);
}//end if html5 filelist support
}
</script>
</head>
<body>
<input type="file" onchange='readText(this)' />
<div id="main"></div>
</body>
</html>
我只想读取所有登录名,并将它们添加到en数组中,以便以后可以将它们添加到数据库中
我能够阅读该文件,但我只需要登录和它的数据,名称和姓氏是不需要的
我的代码如下:
Login,Name,Surname
Rd-001,Raj,Dolka
RS-932,Ram,Selmen
<!DOCTYPE html>
<html>
<head>
<title>reading file</title>
<script type="text/javascript">
var reader = new FileReader();
function readText(that){
if(that.files && that.files[0]){
var reader = new FileReader();
reader.onload = function (e) {
var output=e.target.result;
//process text to show only lines with "-":
output=output.split("\n").filter(/./.test, /\-/).join("\n");
document.getElementById('main').innerHTML= output;
};//end onload()
reader.readAsText(that.files[0]);
}//end if html5 filelist support
}
</script>
</head>
<body>
<input type="file" onchange='readText(this)' />
<div id="main"></div>
</body>
</html>
读取文件
var reader=new FileReader();
函数readText(即){
if(that.files&&that.files[0]){
var reader=new FileReader();
reader.onload=函数(e){
var输出=e.target.result;
//处理文本以仅显示带“-”的行:
output=output.split(“\n”).filter(/./.test,/\-/).join(“\n”);
document.getElementById('main').innerHTML=output;
};//结束onload()
reader.readAsText(即.files[0]);
}//如果html5文件列表支持,则结束
}
您可能想使用explode()
或者,如果您有一个CSV文件,您可以使用内置的PHP函数str\u getcsv
我将文件\u获取\u内容
然后通过“\n”分解CSV文件,
然后使用str\u getcsv
将返回的数组保存到另一个数组中
如果您想使用JS实现这一点,您可以使用
split()
我知道其他海报也提到过使用split
,但鉴于问题中描述的文本结构,这里有一个片段实际上只允许您解析登录:
output = output.split("\n").filter((line, i) => i != 0).map(line => line.split(",")[0]).join("\n");
filter
调用的目的是排除第一行(标题)。map
调用的要点是只包含每行中的第一项。我看到了PHP标记,没有看到任何PHP代码::为您修复了它“我能够读取文件,而不仅仅是登录”是什么意思?我很难理解您想要的结果是什么。如果我理解正确,注释处理文本仅显示带“@”的行:
在给定的代码段中是不必要的,可能是从其他代码复制的。问题似乎不再是关于PHPNo问题:)您添加了额外的js
详细信息,但是@Praveen已经在最初发布的代码段中使用了它:output=output.split(“\n”)
如何在每个登录之间添加下一行,以便使登录名位于另一个登录名的下方?嗯,代码段末尾的join
调用添加了一个新行字符。如果我正确理解了您的问题,那么您希望直接在HTML中使用生成的字符串。您可能可以这样做:join(“
\n”)
而不是join(“\n”)
。如何从这里将值放入数组?如果省略对join
的调用,则代码段的结果是数组(而不是字符串)。但现在我不确定你到底想要实现什么。结果是数组还是字符串?我想将每个登录值都放在一个数组中。这就是为什么我试着把它做成一个字符串,这样我就可以把它放到一个字符串数组中。