精华内容
下载资源
问答
  • node中读取js文件数据Hola Node enthusiasts! Hola Node爱好者! So, sometime back I was stuck at a problem where I had to read multiple CSV files present inside a directory. I couldn't find any clean ...

    node中读取js文件数据

    Hola Node enthusiasts!

    Hola Node爱好者!

    So, sometime back I was stuck at a problem where I had to read multiple CSV files present inside a directory. I couldn't find any clean and elegant code to solve this problem. And no offence to little pythons out there, I know you could do this on python in less than 10 lines of code. Anyways, let’s see how we do it.

    因此,有时我陷入了一个问题,即必须读取目录中存在的多个CSV文件。 我找不到任何干净优雅的代码来解决此问题。 那里的小python并没有冒犯,我知道您可以用不到10行代码在python上完成此操作。 无论如何,让我们看看我们是如何做到的。

    Objective

    目的

    To read multiple CSV files present inside a folder called csvfiles which has files of other formats too(i.e not only .csv).

    要读取存在于名为csvfiles文件夹中的多个CSV文件,该文件夹也具有其他格式的文件(即不仅是.csv)。

    Importing the necessary libraries

    导入必要的库

    var fs = require('fs');
    const path = require('path');
    const mysqlConnection = require('./connection');
    const fastcsv = require('fast-csv');

    Function to read the filenames from a given directory path

    从给定目录路径读取文件名的功能

    So, here I’m providing a hardcoded path to a directory. You can pass your own directory path here. The path.join( ) function takes the current working directory and creates a full path to the directory from where you want to read the CSV files. So, overall the path becomes as shown below. Please note that I’m using Ubuntu.

    因此,在这里,我提供了目录的硬编码路径。 您可以在此处传递自己的目录路径。 path.join()函数采用当前工作目录,并创建要从中读取CSV文件的目录的完整路径。 因此,总体路径如下所示。 请注意,我正在使用Ubuntu。

    /home/abhishek/Desktop/Coding_Stuffs/csvfiles/
    //Hard coded directory has been used.
    //Put your path here...
    const currDir = path.join(__dirname + '/../csvfiles/');
    
    
    // Function to get the filenames present
    // in the directory
    const readdir = (dirname) => {
      return new Promise((resolve, reject) => {
        fs.readdir(dirname, (error, filenames) => {
          if (error) {
            reject(error);
          } else {
            resolve(filenames);
          }
        });
      });
    };

    Creating a CSV filter

    创建一个CSV过滤器

    Once you have the filenames sorted there is a CSV filter that you need in order to start parsing files. The CSV filter code filters all the CSV files while leaving any other type of files present in the directory. Here’s how we do it:

    对文件名进行排序后,便需要一个CSV过滤器来开始解析文件。 CSV过滤器代码过滤所有CSV文件,同时在目录中保留任何其他类型的文件。 这是我们的方法:

    We are simply splitting the array of filenames returned by the readdir( ) function by the dot operator. If the file contains the csv part in it after the dot we will filter that out. As simple as that :).

    我们只是通过点运算符拆分readdir()函数返回的文件名数组。 如果文件中的点后有csv部分,我们将过滤掉它。 就如此容易 :)。

    //CSV filter to filter out the csv files
    //in the directory
    const filtercsvFiles = (filename) => {
      return filename.split('.')[1] == 'csv';
    };

    Parsing the files using fast-csv

    使用fast-csv解析文件

    Now, we have everything that we need to read CSV files. So, we will parse each file within a for loop and store it inside a MySQL database.

    现在,我们拥有读取CSV文件所需的一切。 因此,我们将在for循环中解析每个文件,并将其存储在MySQL数据库中。

    readdir(currDir).then((filenames) => {
      filenames = filenames.filter(filtercsvFiles);
    
    
      for (let i = 0; i < filenames.length; i++) {
        let currFilePath = currDir + filenames[i];
    
    
        //Use fast-csv to parse the files
        let csvData = [];
        fastcsv
          .parseFile(currFilePath)
          .on('data', (data) => {
            csvData.push(data);
          })
          .on('end', () => {
            csvData.shift();
    
    
            //Save the data in mysql
            query =
              'insert ignore into csvData (col1, col2, col3, col4, col5) values ?';
            mysqlConnection.query(query, [csvData], (err, response) => {
              console.log(err || response);
            });
          });
      }
    });

    Here is the MySQL connection file:

    这是MySQL连接文件:

    const mysql = require('mysql');
    
    
    const mysqlConnection = mysql.createConnection({
      host: 'localhost',
      user: 'root',
      database: 'readCSVDir',
      multipleStatements: true,
    });
    
    
    mysqlConnection.connect((error) => {
      if (!error) {
        console.log('Database connected!');
      } else {
        console.log('Failed to connect to the databse!');
      }
    });
    
    
    module.exports = mysqlConnection;

    Info about the MySQL database

    有关MySQL数据库的信息

    Create a database according to the data and provide its name in the database attribute in the mysql.createConnection( ). Then create a table to feed your data.

    根据数据创建数据库,并在mysql.createConnection()的数据库属性中提供其名称。 然后创建一个表来填充您的数据。

    Conclusion

    结论

    So, that was it. Simple huh? Yeah.

    就是这样。 简单吧? 是的

    I hope I could teach you something new. Feel free to reach out if you have any doubts.

    我希望我能教你一些新东西。 如有任何疑问,请随时与我们联系。

    Peace.

    和平。

    翻译自: https://medium.com/@kumar.bits009/how-to-read-multiple-files-from-a-directory-using-node-js-61433a0d5004

    node中读取js文件数据

    展开全文
  • 评论内容较长,点击标题查看--lees vloerlamp评论内容较长,点击标题查看--http://www.pinsaguelbc.frI was going through a big loss in my online business but since.--http://www.sosirradies31.fr$Locale = ...

    评论内容较长,点击标题查看

    --lees vloerlamp

    评论内容较长,点击标题查看

    --http://www.pinsaguelbc.fr

    I was going through a big loss in my online business but since.

    --http://www.sosirradies31.fr

    $Locale = setlocale (LC_ALL, $_SESSION['Language']);

    --http://www.lilietnico.fr

    I really impressed by your post.

    --http://www.villatatin.fr

    They have given 100% real facebook likes and some of them are my customers now.

    --http://www.photo-retouche.fr

    路由器:指一种通信设备,可在网络中选择数据的传送路径。

    --http://www.madeleinebrunelet.fr

    我不知道该说什么好!

    --http://www.escrime-arbois.fr

    请赐教!非常感激!

    --http://www.calvin-studio.fr

    I really impressed by your post.

    --http://www.solinea.fr

    public class LogoutService extends RestartService {

    --http://www.antiquites-carrau.fr

    I really impressed by your post.

    --http://www.jl-tec.fr

    评论内容较长,点击标题查看

    --plak bh

    评论内容较长,点击标题查看

    --Addison Randall

    评论内容较长,点击标题查看

    --betonnen keukentablet

    评论内容较长,点击标题查看

    --haftstreifen

    评论内容较长,点击标题查看

    --This website

    猎人带狗追捕,兔子刚跑80步,猎狗去追兔子,已知猎狗跑2步的时间兔子跑3步,猎狗跑4步的距离与兔子跑7步的距离相等。那么猎狗跑多少步可以捕获这只兔子?

    距离80步

    --http://www.bsfmusic.fr

    评论内容较长,点击标题查看

    --keramiek tafelblad

    我中度了

    --silesuan

    非常好,终于解决了我的问题

    --cngoogle.so

    评论内容较长,点击标题查看

    --inbouwmengkraan

    评论内容较长,点击标题查看

    --http://www.asgalacticos.be

    评论内容较长,点击标题查看

    --natuurstenen keukenwerkblad

    评论内容较长,点击标题查看

    --stop smoking

    They are maintaining this nicely. I am so impressed by this.

    --verhuisbedrijf gouda

    评论内容较长,点击标题查看

    --aanrechtblad

    评论内容较长,点击标题查看

    --Porn Addiction

    评论内容较长,点击标题查看

    --Keukenblad

    1

    --1

    评论内容较长,点击标题查看

    --Lipozene Reviews

    内容正是我想要的,真是十分感谢呀。比csdn好多了。

    --爱狗狩猎博客

    评论内容较长,点击标题查看

    --alastairalex1988@gmail.com

    评论内容较长,点击标题查看

    --Lipozene

    Thanks for posting! I really like the topic you have covered. You should keep it up forever!

    --anthonybgamble@gmail.com

    As a Newbie, I am always searching online for articles that can help me. Thank you

    --Lipozene

    不错

    --aa

    取决于你想要的东西,使。您可以管理很多事情由PHP。这也是一个主要的PHP软件的Web开发。

    --billiga solglasögon online

    我剛剛發現這個博客,學到很多東西,我覺得這一個最好的博客獲得這樣的信息,所以你做得很好的工作,所以保持它。

    --forex trading

    评论内容较长,点击标题查看

    --forex trading

    展开全文
  • Up to now, I have my code to read any Json file in a directory, parse it and put it in a table - works great since I was only using 1 JSON file per table row. <p>What I need to do now is the ...
  • <strong>What I was planning to do</strong> was get a list of all the files and folders inside a given directory (using JS), then append a div for each folder (with more stuff inside) inside the ...
  • Say if each file inside of it $cat=='Apple'</code> and after each file read a ||</code> was placed after it unless the last file found. <p>What kind of php code would read a directory, then read all...
  • 项目读取excel报错, poi版本从3.7升到4.1.2 ...思前想后 发现maven构建项目excel文件到target目录classes文件夹下会自动进行编译 导致poi读取文件流错误 添加排查指定文件的maven配置即可 <build>

    项目读取excel报错, poi版本从3.7升到4.1.2
    使用高版本api

    workbook = WorkbookFactory.create(inputStream);
    

    出现无法读取的错误
    Your stream was neither an OLE2 stream, nor an OOXML stream
    思前想后 发现maven构建项目excel文件到target目录classes文件夹下会自动进行编译 导致poi读取文件流错误
    添加排除指定文件的maven配置即可

    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-resources-plugin</artifactId>
    				<configuration>
    					<encoding>UTF-8</encoding>
    					<nonFilteredFileExtensions>
    						<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
    						<nonFilteredFileExtension>xls</nonFilteredFileExtension>
    						<nonFilteredFileExtension>xml</nonFilteredFileExtension>
    						<nonFilteredFileExtension>zip</nonFilteredFileExtension>
    						<nonFilteredFileExtension>rar</nonFilteredFileExtension>
    						<nonFilteredFileExtension>properties</nonFilteredFileExtension>
    					</nonFilteredFileExtensions>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build>
    
    展开全文
  • android文件夹目录读取权限

    千次阅读 2015-08-13 12:10:31
    遇到了下载完成,但是安装时总是提示“There was a problem parsing the package”的错误。开始是怀疑安装路径出错或文件下载过程中出现损坏,后来发现都不是。刚开始的时候我的模拟器上没有设置SD卡空间,通过...

      今天在做安卓应用的自动检测更新、下载、安装功能。遇到了下载完成,但是安装时总是提示“There was a problem parsing the package”的错误。开始是怀疑安装路径出错或文件下载过程中出现损坏,后来发现都不是。刚开始的时候我的模拟器上没有设置SD卡空间,通过Environment.getExternalStorageDirectory()获取不到SD卡路径。所以我尝试把文件保存在应用缓存目录。通过getCacheDir()得到/data/data/xxx/cache目录,并将下载文件保存在此目录下。问题在于只有该应用对cache文件夹拥有读取权限。安装apk我们会调用系统的安装器,安装器没有访问权限,所以会提示以上错误。我们只要将文件存储在系统可读写的文件夹下,就可以了。

    展开全文
  • 故当配置文件(例web.xml)发生改变时,只更新应用程序资源文件/installedApps目录下的web.xml文件是不启作用的 web.xml文件的修改 必须到 /IBM/WebSphere/AppServer/profiles/AppSrv01/config/cell...
  • was部分更新

    2016-07-20 17:00:00
    故当配置文件(例web.xml)发生改变时,只更新应用程序资源文件/installedApps目录下的web.xml文件是不启作用的 web.xml文件的修改 必须到 /IBM/WebSphere/AppServer/profiles/AppSrv01/con...
  • 排查了半天,打开Eclipse安装目录下的eclipse.ini文件看了看: 发现其中存在中文字符,感觉有可能是因为我的launcher.library路径里存在中文,导致文件读取存在问题。于是稍加思考,有了如下的解决方案: 二、解决...
  • 3.3 How can I check and see if a key was pressed? 我怎样检查是否一个键被摁下? 3.4 How can I move the cursor around the screen? 我怎样将光标在屏幕里移动? http://archive.cnblogs.com/a/201848/(第 3/...
  • 以Tomcat为例,你需要在conf/server.xml中指定你的keystore并且配置好KeyAlias,同时,Tomcat会到JAVA_HOME/jre/lib/security目录读取cacerts文件。在Weblogic中,你也需要配置Trust.jks和Identity.jks(可以参...
  • -- 指定读取所有文件的编码格式 --> <filter-name>encodingFilter <filter-class>org.springframework.web.filter.CharacterEncodingFilter <param-name>encoding <param-value>UTF-8 <filter-name>...
  • 该操作包括读取Hadoop文件系统上文件列表进行展示、可以在Hadoop文件系统中创建目录、删除目录;下载或者上传文件;查看文件内容;运行Job作业、支持国际化语言设置等等。类似与 hadoop-eclipse-plugin的插件。...
  • I was thinking to leave the parent process parsing the file containing directories and use child processes to fetch the other files....然后孩子读取目录中的文件。在Since the parent w...
  • libc错误解决

    千次阅读 2014-10-13 09:26:58
    系统当前共安装有 20390 个文件目录。) 正预备替换 libc6:amd64 2.17-0ubuntu5 (使用 libc6_2.17-0ubuntu5.1_amd64.deb) ... A copy of the C library was found in an unexpected directory: '/lib/x86_64...
  • 2009 达内Unix学习笔记

    2010-02-10 19:45:32
    对普通文件来说,是读取文件的权限;对目录来说,是获得该目录下的文件信息。 w 写权限。对文件,是修改;对目录,是增删文件与子目录。 (注 删除没有写权限的文件可以用 rm -f ,这是为了操作方便,是人性化的...
  • // 存放索引文件目录2 /** * 测试时,要在D:/img/文件夹中准备几个包含内容的文件(比如txt格式的) * 然后先执行createIndex()方法,再执行searchFile()方法,最后观看控制台...
  • //bean工厂获取 映射文件 (新建一个新session) ClassPathXmlApplicationContext[只能读取在web-info/classes目录文件配置文件] BeanFactory factory = new ClassPathXmlApplicationContext("classpath:...
  • 系统当前共安装有 173903 个文件目录。) 正在卸载 mongodb-clients (1:3.6.3-0ubuntu1) ... 正在选中未选择的软件包 mongodb-org-shell。 (正在读取数据库 ... 系统当前共安装有 173896 个文件目录。) 正...
  • 实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/ 实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区c:\documents and settings\ 实务...
  • 实务11 安装Oracle时,报告错误“无法读取C:/Program Files/Oracle/ 实务11 Inventory/ ContentsXML/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区C:\Documents and Settings\ 实务...
  • 实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/ 实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区c:\documents and settings\ 实务...
  • 实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/ 实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区c:\documents and settings\ 实务...
  • 实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/ 实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区c:\documents and settings\ 实务...
  • 实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/ 实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区c:\documents and settings\ 实务...
  • 实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/ 实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区c:\documents and settings\ 实务...
  • 实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/ 实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区c:\documents and settings\ 实务...
  • 实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/ 实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区c:\documents and settings\ 实务...
  • 实务11 安装oracle时,报告错误“无法读取c:/program files/oracle/ 实务11 inventory/ contentsxml/ comps.xml,丢失某些产品清单信息” 实务12 安装时,提示“安装程序交换区c:\documents and settings\ 实务...

空空如也

空空如也

1 2 3 4
收藏数 64
精华内容 25
关键字:

was读取文件目录