• <tfoot id="ukgsw"><input id="ukgsw"></input></tfoot>
    
    • 久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
      分享

      R語言︱用excel VBA把xlsx批量轉化為csv格式

       Andy517 2019-10-22

      筆者寄語:批量讀取目前看到有以下幾種方法:xlsx包、RODBC包、批量轉化成csv后讀入。本章來自博客:http://www.cnblogs.com/weibaar/p/4506144.html

      在上面的嘗試已經發現,xlsx本身就是這個復雜問題的最根本原因。與之相反,R對csv等文本格式支持的很好,而且有fread這個神器,要處理一定量級的數據,還是得把xlsx轉化為csv格式。

      以此為思路,在參考了兩個資料后,我成功改寫了一段VBA,可以選中需要的xlsx,然后在其目錄下新建csv文件夾,把xlsx批量轉化為csv格式。

      代碼如下:

      Sub getCSV()
      '這是網上看到的xlsx批量轉化,而改寫的一個xlsx批量轉化csv格式
      '1)批量轉化csv參考:http://club./thread-1036776-2-1.html
      '2)創建文件夾參考:http://jingyan.baidu.com/article/f54ae2fcdc79bc1e92b8491f.html
      '這里設置屏幕不動,警告忽略
      Application.DisplayAlerts = False
      Application.ScreenUpdating = False
      Dim data As Workbook
      '這里用GetOpenFilename彈出一個多選窗口,選中我們要轉化成csv的xlsx文件,
      file = Application.GetOpenFilename(MultiSelect:=True)
      '用LBound和UBound
      For i = LBound(file) To UBound(file)
          Workbooks.Open Filename:=file(i)
          Set data = ActiveWorkbook
          Path = data.Path
          '這里設置要保存在目錄下面的csv文件夾里,之后可以自己調
          '參考了里面的第一種方法
          On Error Resume Next
          VBA.MkDir (Path & "\csv")
          With data
              .SaveAs Path & "\csv\" & Replace(data.Name, ".xlsx", ".csv"), xlCSV
              .Close True
            End With
      Next i
      '彈出對話框表示轉化已完成,這時去相應地方的csv里查看即可
      MsgBox "已轉換了" & (i-1) & "個文檔"
      Application.ScreenUpdating = True
      Application.DisplayAlerts = True
      End Sub


      操作很簡單:

      把代碼復制進excel的vba編輯器里,然后運行getcsv這個宏,會跳出一個窗口,要求選擇你要轉化的xlsx文件。(可多選)

      選中以后,等一段時間,再回到xlsx文件下,會多一個csv文件夾,里面就是我們要導入R的文本文件了。

      這個方法的好處是:

      1、操作簡單,直接依托于excel的VBA操作,不用配置java環境,之后溝通成本/換電腦成本小 


      2、特別適用于有一定數據量,但是數據格式整齊的文件,譬如從某數據端讀入的數據。用fread還可以控制讀取的行(skip=NNN),代碼寫入整潔方便。就算有一些異行數據,也可以事先用VBA進行操作,簡單方便。


      ——————————————————————————————————————————————

      讀入R數據庫可以用lappy來讀取:

      #lapply讀取法
      filenames <- list.files("C:/Users/a.csv", pattern = ".csv",full.names = TRUE)  #變成list格式
      #沒有full.names = TRUE,都會出現cannot open file: No such file or directory
      
      name=function(x) {
        read.csv(x,header=T)
        }
      datalist <- lapply(filenames,name)  #filenames執行name函數

      ——————————————————————————————————————————————

      其中需要強調一點WPS excel怎么加載宏

      1、WPS excel本身是沒有宏功能的,需要自己加載;

      2、加載一個.exe,安裝好了,即可。

      就需要下載一個“wps的vba模塊”,這個模塊下載鏈接:

      鏈接:http://pan.baidu.com/s/1bnvoigJ


      加載好這一個就行了,


      然后就是簡單輸入,就可以調用宏了。


      參考:http://office.jb51.net/wps/4961.html

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發表

        請遵守用戶 評論公約

        類似文章 更多

        主站蜘蛛池模板: 成人精品天堂一区二区三区| A级孕妇高清免费毛片| 国产精品久久福利新婚之夜| 国产精品一在线观看| 好爽毛片一区二区三区四| 韩国无码AV片午夜福利| 久久人搡人人玩人妻精品首页| 国产精品中文字幕观看| 又色又爽又黄的视频网站| 大地资源中文第二页日本| 久久综合九色综合97婷婷| 国产爆乳无码一区二区麻豆| 亚洲欧美中文字幕日韩一区二区| 欧美亚洲一区二区三区| 欧美肥老太牲交大战| AV无码小缝喷白浆在线观看| 女人18毛片水真多免费看| 国产福利酱国产一区二区| 国产最新进精品视频| 精品国产高清中文字幕| 久久伊人色AV天堂九九小黄鸭| 国产成人午夜福利院| 天堂资源中文最新版在线一区| 欧美成本人视频免费播放| 在线观看免费人成视频播放| 亚洲精品久久久久久婷婷| 精品国产免费一区二区三区香蕉| 日日摸夜夜添夜夜添无| 亚洲av成人免费在线| 又大又长粗又爽又黄少妇视频| 国产97人人超碰CAO蜜芽PROM| av一区二区中文字幕| 国产精品无码DVD在线观看| 天天综合亚洲色在线精品| 国产精品视频亚洲二区| 久久久久亚洲AV成人网人人网站 | 精品人妻中文无码AV在线| 国产精品丝袜亚洲熟女| 亚洲精品二区在线播放| 久久AV无码精品人妻糸列| 亚洲 另类 日韩 制服 无码|