|
お世話になっております。 エクセルファイルからCSVファイルに変換するしているのですが、 セル内で改行しているデータがあり、うまく変換できません。 そのセルのみダブルクォーテーションで括られていて、 ダブルクォーテーションはうまく削除できました。 ただ、リターンコードはうまく取り除けません。 ご教授願えますでしょうか?
dim 変換前 fid = fopen(保存ファイル名,F_READ or F_WRITE) 変換前 = fget(fid,F_ALLTEXT,TRUE) 変換前 = chgmoj(変換前,"<#DBL>","") //変換前 = chgmoj(変換前,"<#CR>","") fput(fid,変換前) fclose(fid) fid = fopen(保存ファイル名,F_READ or F_WRITE) For i = 2 to fget(fid,-1)-1 変換前 = fget(fid,i) 変換前 = chgmoj(変換前,"<#CR>","") fput(fid,変換前,i) next fclose(fid)
//エクセル.CSV
名前,コメント,住所 高田,連絡,静岡県 臼田,連絡,長野県 吉田,"連絡<改行コード> 前日",東京都
エクセルファイルでは
連絡 前日
のように表示されています。
|
No.1684 2023/12/03(Sun) 11:59:11
|
☆ Re: CSVファイルの行の途中の改行コードを除きたい / sen |
|
|
|
ありがとうございます。 教えてもらったのを元に、下記のように修正しました。 合っていますでしょうか? (csvファイルは分かり易く変更しました。)
fid = fopen("テスト.CSV",F_READ or F_WRITE) For i = 2 to fget(fid,-1) 変換前 = fget(fid,i) ifb pos(",",変換前,3) = 0 then 変換前 = 変換前+","+fget(fid,i+1) fput(fid,変換前,i) fdelline(fid,i+1) break endif next fclose(fid)
//テスト.CSV //A,B,C,D //9,9,9,9 //1,2-1 //2-2,3,4 //↓正解 //A,B,C,D //9,9,9,9 //1,2-1,2-2,3,4
|
No.1686 2023/12/03(Sun) 21:59:54
|
|