如果我们在nodeJS服务器上,则可以编写标头,设置mime类型并发送:
res.header("Content-Disposition", "attachment;filename="+name+".csv");
res.type("text/csv");
res.send(200, csvString);
并且由于存在标题,浏览器将为命名的csv文件创建下载。
当在浏览器中生成有用的数据时,将其保存为CSV文件的一种解决方案是使用ajax,将其上传到服务器(也许可以选择将其保存在服务器上),然后让服务器使用这些标头将其发送回去,从而成为将csv下载回浏览器。
但是,我想要一个不涉及服务器乒乓球的100%浏览器解决方案。
因此,我想到可以打开一个新窗口,并尝试使用等效的META标签设置标题。
但这在最近的Chrome浏览器中对我不起作用。
我确实得到了一个新窗口,它包含csvString,但不充当下载。
我想我期望在底部选项卡中获得下载,或者在底部选项卡中获得具有空白下载的新窗口。
我想知道中继标记是否正确,或者是否还需要其他标记。
有没有一种方法可以在不将其插入服务器的情况下使其正常工作?
用于在浏览器中创建CSV的JsFiddle(不起作用-输出窗口,但没有下载)
var A = [['n','sqrt(n)']]; // initialize array of rows with header row as 1st item
for(var j=1;j<10;++j){ A.push([j, Math.sqrt(j)]) }
var csvRows = [];
for(var i=0,l=A.length; i<l; ++i){
csvRows.push(A[i].join(',')); // unquoted CSV row
}
var csvString = csvRows.join("\n");
console.log(csvString);
var csvWin = window.open("","","");
csvWin.document.write('<meta name="content-type" content="text/csv">');
csvWin.document.write('<meta name="content-disposition" content="attachment; filename=data.csv"> ');
csvWin.document.write(csvString);
总有HTML5 download
属性:
该属性(如果存在)表明作者打算将超链接用于下载资源,以便当用户单击链接时,将提示他们将其另存为本地文件。
如果属性具有值,则该值将用作用户单击链接时打开的“保存”提示中的预填充文件名。
var A = [['n','sqrt(n)']];
for(var j=1; j<10; ++j){
A.push([j, Math.sqrt(j)]);
}
var csvRows = [];
for(var i=0, l=A.length; i<l; ++i){
csvRows.push(A[i].join(','));
}
var csvString = csvRows.join("%0A");
var a = document.createElement('a');
a.href = 'data:attachment/csv,' + encodeURIComponent(csvString);
a.target = '_blank';
a.download = 'myFile.csv';
document.body.appendChild(a);
a.click();
显然,有针对IE10和IE11的黑客,它不支持该download
属性但是Edge_ 支持 。
var A = [['n','sqrt(n)']];
for(var j=1; j<10; ++j){
A.push([j, Math.sqrt(j)]);
}
var csvRows = [];
for(var i=0, l=A.length; i<l; ++i){
csvRows.push(A[i].join(','));
}
var csvString = csvRows.join("%0A");
if (window.navigator.msSaveOrOpenBlob) {
var blob = new Blob([csvString]);
window.navigator.msSaveOrOpenBlob(blob, 'myFile.csv');
} else {
var a = document.createElement('a');
a.href = 'data:attachment/csv,' + encodeURIComponent(csvString);
a.target = '_blank';
a.download = 'myFile.csv';
document.body.appendChild(a);
a.click();
}
我有一个独立的H2服务器,正在收集数据。为了进行测试,我希望将数据从服务器中提取到CSV文件中。有什么工具吗?
我有一个脚本可以将一整串CSV输出到文件夹C:\scripts\csv。这个特定的脚本循环了所有的数据流,并计算了数据集中前100个单词的使用情况。前100个单词及其计数被添加到一个列表中,数据流被串联,然后csv应该导出。打印包含正确的信息,但脚本不输出任何文件。
我正在使用Redisson为我的Java应用程序。在他们的文档中,redisson在任何一个redis节点上创建对象。这是什么意思? 对于例如: 它返回本地存在的RSet对象。现在我对它做的任何操作都会改变本地对象和redis对象。这是否意味着两个远程调用 我的应用程序将处理大量的流量,我担心这将是原子和快速与否?
问题内容: 我需要一种方法,可以轻松地将MySQL表中的数据从远程服务器导出然后导入到我的家庭服务器。我没有直接访问服务器的权限,没有安装任何实用程序,例如phpMyAdmin。但是,我确实可以将PHP脚本放在服务器上。 我如何获得数据? 我问这个问题纯粹是为了记录我的做事方式 问题答案: 您可以为此使用SQL: 然后,只需将浏览器或FTP客户端指向目录/文件(backups / mytable.
我在网上读到,您可以使用几种不同的方法将数据帧的内容保存到数据湖中的CSV文件中。我的dataframe很好,但我似乎不能将它保存到CSV文件中。我很乐意把这个CSV放在湖里,或者放在我的桌面上。任何一个都没问题。 尝试1: 尝试2: 两种选择对我都不起作用。对于这两种情况,我将得到一条错误消息,内容为
问题内容: 我试图将使用以下查询找到的结果导出到我的桌面上的CSV中。 这是我第一次使用Elasticsearch和cURL,因此我对如何执行此操作感到困惑。 现在,当我运行此查询时,它将返回戴夫的姓名,姓氏,地址和性别,并且我想在运行查询时将结果放入桌面上的csv中。 我一直在阅读有关如何执行此链接的操作,但是我不确定如何使我的查询执行此操作-(https://docs.python.org/3