私は何百ものスプレッドシートを持つExcelファイルを持っています。複数のExcelスプレッドシートRにインポート
そうでread.xlパッケージを使用してRにインポートする方法を答えている場合、私は... stackoverflowの上
をいくつかの投稿を読んだことがあるしかし、私は、このファイルのための余分な何かをする必要があります。各スプレッドシートの上部には2行のヘッダーがあり、ヘッダーの最初の行には5桁の数字があり、抽出してテーブルに挿入する必要があります。
たとえば、ヘッダーには11111 ABC Corp.とそのデータセットがあります。 それは次のようになります。
11111 ABC Corp.
Product# | Description | Quantity Order | Price | Unit Price
をここで、私は以下のようにデータをインポートする:あなたは上記を参照ように、多数の5桁が最初の列にコピーする必要があります
ID# | Product # | Description | Quantity Order | Price | Unit Price
11111 | 2813A | Whatever | 100
11111 | 2222B
11111 | 7721CD
各スプレッドシートの表の各スプレッドシートには、そのテーブルにコピーする5桁の異なる数字があります。
私は最初の5桁を抽出する方法があれば、おそらくループを使ってこれを行うことができます。
So 1.最初の5桁を抽出します。 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桁の数字を読み、2番目のステップではスプレッドシートを読み、 'cbind'と一緒に使用して探しているデータフレームを作成します。 – drmariod
'openxlsx :: read.xlsx'は、最初の行(' read.xlsx(fname、rows = 1) ')を別々に読み込み、次にデータ(' read.xlsx(fname、startRow = 2) ' )。タイトル行は少し変換されます(例:スペースからドット)が必要な場合は、数字だけです。単純な 'gsub(" [^ 0-9] "、" "、x)'は良いスタートです。 – r2evans