![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
すみません。
↑のスクリプトを書いたものですが,少し間違ってました。正しくは,下記のとおりです。
(具体的にはループの中のprint文がまずかったです。)
$file = "test-data.txt";
open IN,"<$file" or die $!;
while (<IN>){
chomp;
@a = split "<>",$_;
push @array,[@a];
}
for ( $i=0;$i<scalar(@array);$i++ ){
for ( $j=0;$j<scalar(@{$array[$i]});$j++){
print $array[$i][$j],",";
}
print "\n";
}
EXCELの質問をされていますが,このカテゴリはPerlのカテゴリなので,Perlのスクリプトでご回答させていただいていいのですよね?
No.4
- 回答日時:
perl が使えるのであれば、コマンドプロンプトで変換元ファイルに cd
して (仮に、c:\tmp とします)、
c:\tmp> perl -pe 's/<>/,/g;' test-data.txt > test-data.csv
を実行して、エクセルで開けば良いかと。
(test-data.txt ファイル各行の「<>」を全て「,」に変換し test-data.csv に出力しています。)
変換元ファイルがあまり大きくないのであれば、エディタで一括置換
するのも不可能ではありません。
No.2
- 回答日時:
こういうことでしょうか?
#test-data.txt-------------------
a1<>b1<>c1<>d1
a2<>b2<>c2<>d2
a3<>b3<>c3<>d3
a4<>b4<>c4<>d4
#--------------------------------
$file = "test-data.txt";
open IN,"<$file" or die $!;
while (<IN>){
chomp;
@a = split "<>",$_;
push @array,[@a];
}
for ( $i=0;$i<scalar(@array);$i++ ){
for ( $j=0;$j<scalar(@{$array[$i]});$j++){
print $array[$i][$j];
}
print "\n";
}
#結果
a1,b1,c1,d1,
a2,b2,c2,d2,
a3,b3,c3,d3,
a4,b4,c4,d4,
splitするときに,データを区切っている文字を指定すれば,たいていのデータは分割できます。
上記のようなスクリプトでいったんデータファイルを変換してから,取り込むというのはどうでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) セルの値からファイルを複数作りたい 2 2022/10/06 12:42
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- Excel(エクセル) Excel タスク管理のツールのアドバイスをお願いいたします 1 2022/08/07 16:50
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- iPhone(アイフォーン) i phone に一括で連絡先を登録する一番簡単な方法 2 2023/02/18 19:36
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- サーバー WIN10のファイル又はフォルダを社内LAN上HDDで共有する場合、特定の人だけが見えるようにしたい 3 2023/04/18 00:32
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル名を複数個配列で確保...
-
Fortranで1行飛ばして読み込む方法
-
1件だけ表示させる方法
-
文字列操作に関する質問です。
-
日本語のマッチング(正規表現)
-
シェルスクリプトについて
-
Pythonで非日本語のUnicode文字...
-
ファイルの内容をスカラー変数...
-
shellのコマンド deffの差分の...
-
絶対+相対アドレスから絶対ア...
-
「パスが見つかりません」とい...
-
ファイル読み込みで一部分書き...
-
CGIで複数のデータファイルを利...
-
VBAでCSVファイルを途中行まで...
-
巨大なテキストの最終行を取得...
-
ファイル全てを .xlsm に変更し...
-
Perlで特定文字列から特定文字...
-
fgets で値が取得できない
-
VBAでCSVファイルの特定行を書...
-
エラー 'dir.h' : No such fi...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル名を複数個配列で確保...
-
一行だけ読込
-
Pythonでegrep機能をつかいたい
-
ifstream/ofstream について
-
「パスが見つかりません」とい...
-
shellのコマンド deffの差分の...
-
Perl エラーログを指定の場所...
-
MATLABでカーブフィットしたデ...
-
ifstream を利用した1行分のテ...
-
perlでCSVをソートする方法につ...
-
system関数と引数について
-
C++でのテキストファイル読み込...
-
連番のファイルを何個も開きたい
-
[perl] もっとシンプルに改良、...
-
Perl 重複カウント 上位3名
-
Pythonで非日本語のUnicode文字...
-
Pythonでテキストを行数指定し...
-
while文がうまく動かない
-
Fortranで1行飛ばして読み込む方法
-
あるファイルないから日付指定...
おすすめ情報