整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Node-RED教程 – 02 – Modbus讀取

          Node-RED教程 – 02 – Modbus讀取數(shù)據(jù)存入csv文件

          能:

          • Modbus通訊讀取數(shù)據(jù)
          • 保存數(shù)據(jù)為csv格式

          Node-RED界面:

          功能:

          資源鏈接:han-link.cn/4240.html

          #妙筆生花創(chuàng)作挑戰(zhàn)#

          前使用Python讀取超大CSV文件時(shí),出現(xiàn)MemoryError錯(cuò)誤,甚至死機(jī)。。。嘔心瀝血潛心研究后,發(fā)現(xiàn)使用pandas的read_csv模塊通過分塊讀取,可以完美解決針對(duì)超大CSV文件進(jìn)行數(shù)據(jù)分析處理時(shí)的內(nèi)存不足問題,接下來(lái)與大家分享一下。

          pandas 安裝

          Anaconda是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python、numpy、pandas等180多個(gè)科學(xué)包及其依賴項(xiàng)。建議直接安裝Anaconda2 或 Anaconda3 ,最好裝64位。

          下載地址如下:

          https://www.anaconda.com/
          

          read_csv官方文檔鏈接:

          http://pandas.pydata.org/pandas-docs/stable/io.html#io-read-csv-table
          

          從官方文檔中我們注意到chunksize 、iterator兩個(gè)參數(shù),下面我們就這兩個(gè)參數(shù)做詳細(xì)介紹 。

          Iteration

          iterator : boolean, default False

          Return TextFileReader object for iteration or getting chunks with get_chunk().

          chunksize : int, default None

          Return TextFileReader object for iteration. See iterating and chunking below.

          read_csv——chunksize參數(shù)介紹

          read_csv中有個(gè)參數(shù)chunksize,通過指定一個(gè)chunksize分塊大小來(lái)讀取文件,返回的是一個(gè)可迭代的對(duì)象TextFileReader,分塊處理可以避免將所有的文件載入內(nèi)存,僅在使用的時(shí)候讀入所需內(nèi)容。數(shù)據(jù)的處理和清洗通常使用分塊的方式處理,可以大大降低內(nèi)存的使用,同時(shí)耗時(shí)要相對(duì)長(zhǎng)一些。

          import pandas as pd
          reader=pd.read_csv('pandas.csv', sep='|',chunksize=2)
          for chunksize_data in reader:
           print chunksize_data
          

          輸出

          read_csv——iterator參數(shù)

          指定iterator=True 也可以返回一個(gè)可迭代對(duì)象TextFileReader。

          import pandas as pd
          reader=pd.read_table('pandas.csv', sep='|', iterator=True)
          status=True
          while status:
           try:
           chunk=reader.get_chunk(2)
           print chunk
           except StopIteration:
           status=False
          

          輸出

          除了通過分塊避免一次性將全部?jī)?nèi)容加載至內(nèi)存中,還可以嘗試如下方式讀取超大csv文件進(jìn)行數(shù)據(jù)分析、處理。

          1. 對(duì)數(shù)據(jù)進(jìn)行降維
          2. 增大機(jī)器內(nèi)存或使用spark集群(pyspark)

          轉(zhuǎn)載請(qǐng)說明,若你對(duì)有幫助,點(diǎn)贊支持哦。

          ode.js是一個(gè)可以使用JavaScript運(yùn)行的服務(wù)器端環(huán)境,CSV是文本數(shù)據(jù),使用逗號(hào)作為一列的分隔符,換行代碼作為一個(gè)記錄的分隔符。它是一種用于在其他應(yīng)用程序中一般使用Excel數(shù)據(jù)的格式。本篇文章就來(lái)給大家介紹Node.js處理CSV文件的方法。

          如何使用npm的csv包?

          為了在Node.js中處理CSV,有一種方法可以使用npm csv模塊。

          npm csv模塊的實(shí)際用途是轉(zhuǎn)換JSON數(shù)據(jù)和csv以及讀取和寫入csv數(shù)據(jù)。

          如何安裝npm CSV模塊?

          命令:使用npm install csv安裝csv模塊。

          npm install csv

          Node.js處理CSV文件的具體示例

          如何使用npm csv將Json數(shù)據(jù)轉(zhuǎn)換為csv

          代碼如下

          const csv=require('csv')

          const input=[ [ "1", "2", "3", "4" ], [ "", "在線編程", "短期掌握", "線上學(xué)習(xí)" ] ];

          csv.stringify(input, function(output){

          console.log(output);

          });

          顯示結(jié)果

          [ '1', '2', '3', '4' ],

          [ "", "在線編程", "短期掌握", "線上學(xué)習(xí)" ]

          總結(jié),以上就是本篇文章的全部?jī)?nèi)容了,更多精彩內(nèi)容大家可以關(guān)注的其他相關(guān)教程欄目!!!

          以上就是如何使用Node.js處理CSV文件的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!

          更多技巧請(qǐng)《轉(zhuǎn)發(fā) + 關(guān)注》哦!


          主站蜘蛛池模板: 亚洲中文字幕无码一区 | 亚洲无人区一区二区三区| 熟女少妇丰满一区二区| 99国产精品欧美一区二区三区 | 91麻豆精品国产自产在线观看一区 | 国产精品第一区揄拍无码| 亚洲综合av一区二区三区| 国产精品无码一区二区三区毛片| tom影院亚洲国产一区二区| 亚洲国产一区二区三区青草影视| 无码日韩精品一区二区免费| 国语精品一区二区三区| 狠狠色婷婷久久一区二区三区| 成人免费av一区二区三区| 亚洲一区二区三区香蕉| 亚洲国产综合精品中文第一区| 伊人久久一区二区三区无码| 一区二区三区日韩精品| 国产精品一区二区不卡| 一区二区三区精品视频| 无码精品人妻一区二区三区漫画| 亚洲综合av一区二区三区| 视频一区二区中文字幕| 久久久精品一区二区三区| 中文字幕人妻第一区| 亚洲男人的天堂一区二区| 久久亚洲AV午夜福利精品一区| 99久久精品午夜一区二区| 国产乱码一区二区三区四| 麻豆亚洲av熟女国产一区二| 性色av闺蜜一区二区三区| 伦理一区二区三区| 韩国女主播一区二区| 久久国产精品一区免费下载 | 国产乱人伦精品一区二区在线观看| 国产伦精品一区二区三区视频小说 | 韩国福利影视一区二区三区| 一本岛一区在线观看不卡| 国内精品视频一区二区三区八戒 | 国产高清视频一区三区| 国产成人一区二区三区电影网站 |