我有一個包含數百個電子表格的Excel文件。將多個Excel電子表格導入到R
我已經在計算器看了幾個帖子在那裏回答如何將它們導入到使用read.xl包等R上...
但我需要做一些額外的文件。每個電子表格頂部有2行標題,標題的第一行有5位數字,我需要將其提取並插入到表格中。
例如,報頭具有11111 ABC公司和低於其數據集。 它應該是這樣的:
11111 ABC Corp.
Product# | Description | Quantity Order | Price | Unit Price
在這裏,我要導入的數據如下:
ID# | Product # | Description | Quantity Order | Price | Unit Price
11111 | 2813A | Whatever | 100
11111 | 2222B
11111 | 7721CD
所以你看上面數的五位數應該被複制到第一列每個電子表格的表格。每個電子表格都有不同的五位數字複製到其表格中。
我在想,如果我有一個方法來提取前五個數字,那麼我也許可以通過使用循環做到這一點。
所以1.提取前五位數字。 2.設計一個循環的,我可以在插入第一列和進口R.
什麼是好的功能可以使用嗎?
謝謝。
我會使用宏/ Visual Basic中完全修改在Excel電子表格,然後當它在你希望它保存爲CSV,使用r RO導入CSV格式。我發現Excel宏更容易使用。如果你想在R中執行,在這個Q http:// stackoverflow中檢查答案。com/questions/26936556/editing-particular-cells-of-excel-sheet有一些值得研究的功能。 – Paulb
我會首先使用'readLines'來讀取您的5位數字,然後在第二步中,我會讀取電子表格並與'cbind'一起使用以創建您正在查找的完整數據框。 – drmariod
'openxlsx :: read.xlsx'將允許您分別讀取第一行('read.xlsx(fname,rows = 1)'),然後將數據('read.xlsx(fname,startRow = 2)' )。標題行被轉換一點(例如空格到點),但如果你需要的只是數字,一個簡單的'gsub(「[^ 0-9]」,「」,x)'是一個好的開始。 – r2evans