Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取文本文件的一部分,其中的值用“,”分隔&引用;插入到数组中_Javascript_Html_Arrays_File - Fatal编程技术网

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
的调用,则代码段的结果是数组(而不是字符串)。但现在我不确定你到底想要实现什么。结果是数组还是字符串?我想将每个登录值都放在一个数组中。这就是为什么我试着把它做成一个字符串,这样我就可以把它放到一个字符串数组中。