文档章节

nodejs读取csv

h
 hongyiF
发布于 2017/04/26 08:51
字数 364
阅读 7
收藏 0
点赞 0
评论 0
今天有个需求要都csv文件

本来想用上我用的xlsx的包的

可找了一下没有找到读csv文档的我就不高兴测试了写代码了

以前看nodejs文档的时候看到有行读文件的,这csv文件用起来正好吗

然后自己折腾一下写代码如下

fs.readdir("csv", (err,files)=>{
	if(err)
	{
		console.log("readdir error", err);
		return;
	}
	console.log(files);
	let i = 0, sql = "";
	function rdfile()
	{
		if(i >= files.length)
		{
			console.log("end end end --------------------------------------------------");
			fs.writeFile("plan.sql", sql);
			return;
		}
		console.log("readfile", files[i]);
		sql += "--" + files[i] + "\n";
		const rl = readline.createInterface({input: fs.createReadStream('csv/'+files[i],{encoding:'UCS2'})});
		rl.on('line',(ln)=>{
			let larr = ln.split('    ');
		}).on('close',()=>{
			console.log("end file");
			i++;
			rdfile();
		});
	}
	rdfile();
});

我这是都csv目录下的所以csv文件的

然后一个个文件按顺序处理拼成sql语句

我的csv文件是UCS2编码的刚开始没设置还出现乱码呢

网上找了一下原来是直接支持的,我还想着用iconv

这csv文件列是用tab键分割的不是一般的逗号

原网页 http://www.web-jia.com/view.php?a=35

Node.js中实现文件的循环写入
PHP和AJAX打造高级RSS聚合器
JSP、ASP和PHP安全编程
HTML 5多媒体组件(视频的使用)
HTML5的过去、现在、未来
Node.js提速指南(1)
Intel仍然看好HTML5
用HTML 5打造斯诺克桌球俱乐部(1)
使用Node.js开发多人玩的HTML 5游戏(1)
访问属性和方法
实用PHP组件及教程21则(1)

本文转载自:

共有 人打赏支持
h

hongyiF

粉丝 0
博文 22
码字总数 22
作品 0
nodejs读取csv

今天有个需求要都csv文件 本来想用上我用的xlsx的包的 可找了一下没有找到读csv文档的我就不高兴测试了写代码了 以前看nodejs文档的时候看到有行读文件的,这csv文件用起来正好吗 然后自己折...

hongyi1159 ⋅ 2017/04/26 ⋅ 0

[Node.js源码解读(2)]一个文件被require后所发生的故事

原作者:蔡伟 经原作者授权连载于alinode官方博客,未经原作者允许,不得转载。 在 Node.js 中,要说如果有几乎会在每一个文件都要用到的一个全局函数和一个全局对象,那应该是非 和 莫属了。...

_朴灵_ ⋅ 05/14 ⋅ 0

从 global.console 看 Node.js 中的作用域

原作者:洗影 最近有小伙伴来问我,为什么这段代码不起作用? Node.js 中的 Node.js 中存在一个全局对象 (文档),类似浏览器里的 。挂载在上面的变量,可以被所有模块共享,并且站在作用域...

_朴灵_ ⋅ 05/14 ⋅ 0

翻译计划-用node.js开发一个可交互的命令行应用

译者:Icarus 原文链接:How To Develop An Interactive Command Line Application Using Node.js 近几年, Node.js 在软件开发的一致性上助力很大.无论是前端开发,服务端脚本,跨平台桌面/移动...

卢睿韬 ⋅ 2017/04/16 ⋅ 0

Node.js 线程你理解的可能是错的

Node.js是单线程的,那么Node.js启动后线程数是1? 答案:Node.js启动后线程数并不是1,以下面代码为例 通过Mac实用工具 > 活动监视器可以查看进程的线程数其实是6 Node.js启动的线程数不为1...

Randal ⋅ 06/11 ⋅ 0

使用javascript一样可以做在线算法编程

基于node的readline一样可以使用标准流的输入输出 对于大学生在刚开始学习c ,c++, java的时候,写着hello word的代码,然后在命令框中输入输出; 基于很多算法的学习,在我短浅的认识中,身边...

Cc卿 ⋅ 05/25 ⋅ 0

Electron流行开源框架存漏洞 github受影响

  【IT168 资讯】Electron 是一个由node.js,V8和Chromium构成的开源框架,该框架已被广泛用于流程的桌面应用程序,包括Github桌面,WordPress等;研究员发现通过错误配置,将允许恶意应用程...

安全加 ⋅ 05/17 ⋅ 0

拿什么守护你的Node.JS进程: Node出错崩溃了怎么办?

被吐嘈的NodeJS的异常处理 许多人都有这样一种映像,NodeJS比较快; 但是因为其是单线程,所以它不稳定,有点不安全,不适合处理复杂业务; 它比较适合对并发要求比较高,而且简单的业务场景...

myownghost ⋅ 2014/09/16 ⋅ 4

JS的运行机制(浏览器和node)

一、为什么JS语言是单线程 js的单线程和他的用途有关。作为浏览器脚本语言,js的主要用途就是与用户互动,以及操作DOM、BOM。这决定了它只能是单线程,否则会有很复杂的同步问题。例如:js同...

fenerchen ⋅ 05/29 ⋅ 0

浏览器说:虽然都叫event loop,但是我和node不一样

讨论event loop要做到以下两点 首先要确定好上下文,nodejs和浏览器的event loop是两个有明确区分的事物,不能混为一谈。 其次,讨论一些js异步代码的执行顺序时候,要基于node的源码而不是自...

我是家碧 ⋅ 06/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何使用serverchan微信推送告警

之前实现推送告警信息到微信的方法有如下几种: 1、通过企业公众号实现----收费: 2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒; 3、第三方告警平台API,一般也是收费的; 不过最近看文...

问题终结者 ⋅ 21分钟前 ⋅ 0

TCP的RPC

RPC就是远程方法调用(Remote Process Call ),包含了客户端和服务端,涉及了对象的序列化传输。 1.服务端启动,注册远程调用的类2.客户端发送请求信息包含类、方法、参数的一些信息、序列化传...

Cobbage ⋅ 41分钟前 ⋅ 0

IOS-UI UI初步代码布局添加事件

ISO开发界面,UI是必须学习的一部分,其实很早之前想学来了,一直没有沉下心来学习。看到IOS的代码风格和布局就别扭的不行,跟java代码和android布局比较显得不是那么方便,所以一直到现在。...

京一 ⋅ 52分钟前 ⋅ 0

浅谈OpenDaylight的二次开发

OpenDaylight作为一款开源SDN网络控制器,依托于强大的社区支持以及功能特性,成为了目前主流的SDN网络控制器开发平台。在比较稳定的OpenDaylight Helium版本中,已经为开发者提供了大量的网...

wangxuwei ⋅ 今天 ⋅ 0

API 开发中可选择传递 token 接口遇到的一个坑

在做 API 开发时,不可避免会涉及到登录验证,我使用的是jwt-auth 在登录中会经常遇到一个token过期的问题,在config/jwt.php默认设置中,这个过期时间是一个小时,不过为了安全也可以设置更...

等月人 ⋅ 今天 ⋅ 0

Java NIO之文件处理

程序要操作本地操作系统的一个文件,可以分为以下三个部分: 对文件位置的操作 对文件的操作 对文件内容的操作 其中,对文件内容的操作在 Java NIO之Channel 中已经有了介绍,通过FileChann...

士别三日 ⋅ 今天 ⋅ 0

Maven的pom.xml配置文件详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.......

小海bug ⋅ 今天 ⋅ 0

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 今天 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 今天 ⋅ 0

Redis入门详解(转)

Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis应用场景 Redis总结 Redis简介: Redi...

xiaoyaoyoufang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部