我正在尝试将文本文件(在我的机器上)转换为字符串。最好/最简单的方法是什么?我正在寻找一个看起来像这样的基本功能:
function fileToString(filepath) {
//this returns a string with the contents of the file
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
编辑:我现在知道还有另一个问题会问这个问题,但我不明白那个问题,所以我用不同的词问了它。
有很多使用jQuery读取CSV文件的例子,但javascript示例很少见.
由于我正在为特定应用程序使用内部脚本编辑器,因此我仅限于使用Javascript.
我有一个csv文件,其标题后跟每行数据.
Heading1,Heading2,Heading3,Heading4
row1data1,row1data2,row1data3,row1data4
row2data1,row2data2,row2data3,row2data4
Run Code Online (Sandbox Code Playgroud)
,然而,使用的分隔符可能是其他分隔符^.
由于我无法上传文件,我可以选择手动引用绝对路径.
有没有办法只使用javascript来读取csv文件?
我想从我的本地html文件中读取本地文本文件,所以我尝试按照此线程中的解决方案Javascript - 读取本地文本文件,但建议的解决方案对我来说也不起作用:
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
alert(allText);
}
}
}
rawFile.send(null);
}
Run Code Online (Sandbox Code Playgroud)
当我调用该函数时,readTextFile("file:///D:/test/text.txt");没有错误显示在firebug中,但也没有显示任何警报.我使用Windows和Firefox 51.0.1(64位).我不想将该功能FileReader()与按钮结合使用,<input type='file' onchange='openFile(event)' ...因为在加载页面时需要自动读取文本文件.那么我怎样才能使上述解决方案成为可能?
读取链接的线程看起来像其他人也有该解决方案的问题,虽然线程被标记为已解决.
我有一个独立的 HTML 页面(没有网络服务器),我正在寻找一些 javascript 代码,它将在页面中显示 .csv 文件的内容。
.csv 文件包含我想要显示的用户名列表。我这样做是因为需要更新列表的人对 HTML 一无所知,最初认为这是一种更简单的方法。
我发现的所有代码片段要么尝试上传文件,然后只显示内容,直到您再次重新加载页面,要么我没有足够的知识来调整代码以使其正常工作。
任何帮助表示赞赏和 TYIA
安迪
非常接近我想要的@Barthy 代码是这样的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
table {
border-collapse: collapse;
border: 2px black solid;
font: 12px sans-serif;
}
td {
border: 1px black solid;
padding: 5px;
}
</style>
</head>
<body>
<div id='container'></div>
<script type="text/javascript"charset="utf-8">
var data = 'heading1,heading2,heading3,heading4,heading5\nvalue1_1,value2_1,value3_1,value4_1,value5_1\nvalue1_2,value2_2,value3_2,value4_2,value5_2';
var lines = data.split("\n"),
output = [],
i;
for (i = 0; i < lines.length; i++)
output.push("<tr><td>"
+ lines[i].slice(0,-1).split(",").join("</td><td>")
+ "</td></tr>");
output = …Run Code Online (Sandbox Code Playgroud)