問題タブ [openxlsx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
63 参照

r - 2 つのデータフレームを連結して xlsx ファイルに書き戻す

現在、forloop 内でテキスト ファイルと xlsx ファイル (openxlsx パッケージ) を読み取ることができるコードがあります。私がやろうとしているのは、列を一緒に追加してファイルをxlsxとして出力し、元のxlsxファイルを上書きすることです。各ファイルが上書きされるように、forloop内でそれを行いたいです。

これらすべてのデータフレームを 1 つの巨大なデータフレームにまとめて追加したくはありません。これは、ほとんどの人がこの質問をするときに最も一般的なクエリです。txtfile を xlsfile に追加して xlsx を書き込み、古い xlsx ファイルを上書きしたいだけです。必要に応じて繰り返します。

rbind_allD3 を作成するために使用しようとしましたが、Rrbind_allは非推奨であると言いましたか? 最初の問題は、xlsx パッケージを使用して D1 を読み取ると、X1-X6 のヘッダーが取得されることです。これは、短縮された txtfile に D2 の形式で含まれる列の数です。ただし、D2 のヘッダーは V2、V3、V4、V12、V13、V14 です。bind_rows を使用すると、X1-X6 列に追加する代わりに、V2-4 および V12-14 の形式で 6 つの新しい列ヘッダーが作成されるため、新しい情報は xlsx データフレームが終了する場所のすぐ下の 6 列になります。

2 つのファイルの文字が異なる要因であると言われましたが、それがなぜ、どのように起こったのかはわかりません。また、「V」から「X」への単純な gsub が機能するとは思えません。私のD2のV。

ただし、forloop は引き続き bind_rows で実行され、何らかの理由で、古いファイルを上書きして作成した xlsx ファイルを開くと、すべてのファイルに、最後の xlsfile+txtfile と同じ情報と要素が含まれています。 xlsx ファイルはまったく同じで、最後のファイル情報が含まれていましたが、余分な列が残っていました。これは私のコードとは別の問題だと思いますが、最後のファイルを何度も再作成しないようにする方法がわかりません。これは、ある時点で forloop が D3 作成のために終了するが、xlsx ファイルを書き込んでおらず、write.xlsx 関数をループする私のコードが原因であると思います。

R の xlsx (D1) ファイルは次のとおりです。

そして、D2に短縮されたtxtfileは

3行目はすべて同じなので、両方を読むときに数行をスキップして簡単に追加できるように言うかもしれませんが、最初の2つのヘッダーを保持する必要がありますが、その方法は私だけが知っていますやっている

そして、forloopでこれを行う方法がわかりません

0 投票する
0 に答える
611 参照

r - Openxlsxパッケージでシート名で名前付き範囲を作成する方法

openxlsx パッケージの writeData 関数で name= パラメータを使用すると、Excel に名前付き範囲が作成されます。名前に関連付けられたワークシートがないため、この名前は使用できないようです。スプレッドシートを作成する R コードの例を次に示します。

example.xlsx ワークブックには、「=NA!$A$1:$A$1」を参照する名前付き範囲が含まれています。「=Example!$A$1:$A$1」を参照してください。これを機能させる方法はありますか?ありがとう。