• 締切済み

CSVファイルの末尾のコンマ削除

Excelを使ってCSVファイルを作りました。各行の長さが違うので、末尾に大量のコンマがありますが、途中の連続コンマを削除せずに末尾の連続コンマだけ削除する方法はありますか。 (現状) Ressya.,,,,,,,,,, Syubetsu=0,,,,,,,,,, EkiJikoku=020,021,,,025,026,027,,028,029,030 (目標) Ressya. Syubetsu=0 EkiJikoku=020,021,,,025,026,027,,028,029,030 (条件) 目的:OudiaSecondに貼り付ける コンマ区切り(スペース区切りは不可) Excel以外のソフトを使用しても可

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

CSVファイルを作るのに、エクセルシートデータを使うから,そうなるのです。 この方法はあらゆる場合に適していることではない、ことを認識すべきなのだ。 適当なエディターソフトを探して、ででも作るべきかな。 私ならVBAで修正して(作製してしまうが。 ーー (1)エクセルを読んで、CSVファイルデータにする、VBA(FSO)でプログラムを くむ。(できる人は) (2)エクセルデータをCSVファイル化する既製ソフトを探す。  世間でいう、CSVファイルの仕様も、1つではないのだということを知ってますか?   エクセルで安易にCSV化しようというのは、無謀なんだ。 (3)こういう手もある。   (A)エクセルのシートでデータのあるMAX(最大限列数)列を範囲指定する。   (B)メモ帳に張り付ける    (C)メモ帳の「編集」ー「置換」    (D)メモ帳画面で、どこかエクセルでの1セルデータを張り付けた、メモ帳文字列   をコピーし、「置換する文字列」欄に貼り付け。    文字列部分をDELETEキーで、字数文だけすべて削除する。最後のTAB(1文字。見えない文字だが。)だけを残したつもり。    コピーする。 TABの1文字をコピーしたつもり。    「置換する文字列」の欄に貼り付け。   (E)置換後の文字列に、「,」(半角カンマ)を入れて、「すべて置換」  ーー 参考結果 aaa,bbb,ccc, xx,vv,bb,cc 3列しか、実データがなかった上例の行データで、cccの次は「,」が入っているが、これでその後の利用に差支えがないかな? 小数のテスト例しかやってないこと、使い慣れていないのでニーズに合わないことがあるかもしれないが、その際はご免。 参考 https://aprico-media.com/posts/7005

  • chayamati
  • ベストアンサー率41% (260/624)
回答No.4

>Excelを使ってCSVファイルを作りました。  各行の長さが違うので、末尾に大量のコンマがありますが、  途中の連続コンマを削除せずに末尾の連続コンマだけ  削除する方法はありますか。 ★1.Excelの最終列に〈終〉という列を追加し、   この列の値を@として、〈CSVファイル〉を作り  2.〈,@〉を〈@〉に全て置換えを繰返します。   ここで、〈,,@〉を〈@〉に置換えると繰返す回数が   半減+2となります  3.最後に〈@〉を〈空白〉に置換えます

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.3

VBA で作りました。 フォルダ、ファイル名はこのワークブックと同じ、xlsm☞csv に変換 ANSI(シフトジス)で出力されます。 Option Explicit ' Sub Macro1()   Dim RInp As Long   Dim Colu As Integer   Dim OutData As String '   Open Replace(ThisWorkbook.FullName, ".xlsm", ".csv") For Output As #1 '   For RInp = 1 To [A1].SpecialCells(xlCellTypeLastCell).Row     OutData = "" '     For Colu = 1 To Cells(RInp, Columns.Count).End(xlToLeft).Column       OutData = OutData & "," & Cells(RInp, Colu)     Next Colu     Print #1, Mid(OutData, 2)   Next RInp   Close End Sub

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

(現状)のデータの各行のカンマの数は同じ10個であることにお気づきでしょうか? ワークシート上では3行目の11列目(K列)に「30」のデータがあります。 つまり、Excel が作成す CSVファイルとしては、データ範囲が A1:K3 として保存される、というのが仕様になっていると私は推測します。 だから、この CSVファイルを Excel に読み込んでも通常のワークシートに復元されるという次第。 ワークシートのデータ範囲が B1:L3 なら、左端がカンマから始まるCSVファイルが作成されます。この場合はそれも削除したいのでしょ? 貴方が最初および末尾の空白列を意味するカンマを削除したがる理由は何ですか?

回答No.1

テキストエディタなどで開いて 「,<改行>」を「<改行>」に置換する という作業を「,<改行>」が見付からなくなるまで繰り返して下さい。 <改行>の指定方法は、使うエディタにより異なるので。エディタの説明書を見て下さい。

関連するQ&A

専門家に質問してみよう