• ベストアンサー

CSVファイルの中身を操作したいけど何の言語がいいのでしょうか

uchan777の回答

  • uchan777
  • ベストアンサー率0% (0/2)
回答No.1

私であればVisual Basicを利用します。 前提としてデータの中に ,(カンマ) が無い時ですが。 以下は、Visual Basicの経験があるものとして書かしてもらいます。 Split関数というものがあり文字列を決まったコードでセパレートし配列にしてくれます。 文字列 1,1,3を ,でセパレートした場合、 1 1 3 といった形の配列になり容易にターゲットとなるデータにアクセスできます。 ですので (1)元ファイルオープン (2)出力ファイルオープン (3)元ファイルから1行読み出し。 (4)読み出し行をSplitして2番目の要素チェック (5)対象外なら(3)、対象なら出力ファイルに書き出し。 (6)(3)~(5)をファイル終端まで繰り返し。 (7)出力ファイルクローズ (8)元ファイルクローズ のような流れでどうでしょうか?

参考URL:
http://www.red.oit-net.jp/tatsuya/vb/string.htm#Split
rabitwo
質問者

お礼

ありがとうございます。 Split関数でカンマでセパレートすればあとは何番目の配列かを指定してデータを操作できるということなんですね。 アルゴリズムというかフローチャートというか、それも納得です。 Visual Basicでもいけるんですね。

関連するQ&A

  • Visual C++によるcsvファイルの読み込みについて

    Visual C++を使い始めたばかりの初心者です。 恐縮ながら、Visual C++でのcsvファイルの処理方法についておたずねさせていただければと存じます。 通常のスクリプト言語では、1行読んできて、"," で split をしてやることで、csvファイルを処理できるのですが、Visual C++ではどのようにするのが効率がいいのでしょうか? csvファイルを簡単に取り扱うことができるようなクラスライブラリが提供されているものなのでしょうか?それとも、1文字1文字、コンマを判定していくのが普通なのでしょうか? よろしくお願いいたします。

  • CSVファイルの読み込み

    使用ソフト:Microsoft Visual Basic 2005 Express Edition csvファイル(カンマ区切り)で一列目(aaaの部分)を表すにはどうしたらよいのでしょうか? aaa,bbb,ccc

  • C言語 CSVファイルの読み込み

    C言語でCSVファイルから数字を読み込み、それを計算するというプログラムを作りたいのですが、CSVファイルについて全く知識が無く、加えてCSVファイルを利用したプログラムを作るのが初めての為、勝手がわかりません。 まずCSVファイルというのは、 1.2,2.3,3.4 4.5,5.6,6.7 7.8,8.9,9.0 といった数字(文字列)をカンマで区切ったテキストファイルですよね? それをどのようなプログラムで読み込むのでしょうか? 例えば、上記の数字を読み込み、 a. 1.2+4.5+7.8=x b. 8.9-5.6-2.3=y c. 3.4*6.7*9.0=z と計算する場合のプログラムを教えていただきたいです。 よろしくお願いします。

  • VBでCSVファイルのある行をインポート

    VBでCSVのインポートをしたいのです。 CSVファイルの中身で、最初の5行は読みません。そして、カンマ区切りの行の最初の文字が数字である場合だけを読みたいのです。で最後の3行も読みません。 ですので、CSVのデータを読む場合に最初の5行を飛ばすという方法か、カンマ区切りの行の最初の文字が数字の場合だけ読むという方法はありませんでしょうか。 Line Input #intFileNo, strTextLine strTextLine = Replace(strTextLine, """", "") str = Split(strTextLine, ",") こんな感じのコードで考えてます。 お分かりの方いましたらお願いします。

  • CSVファイル操作

    VBでCSVを操作しているのですが、わからないことがあるので教えてください。 1.CSVファイル(改行区切り)のレコード数を取得するにはどうすればいいですか? 2.CSVファイル(改行区切り)の最初のレコードのみ削除するにはどうすればいいですか?   また、レコードを指定して削除することはできますか? 3.CSVファイル(改行区切り)のレコードを指定して内容を変更することはできますか? Windows XP , VB6

  • csvファイルからの読み込みがスムーズにできません

    fscanfでCSVファイルから文字列を取り込み、カンマ区切りで4つの変数に文字列を代入しようと考えているのですが、出力されたcsvファイルが変わった区切りかたをしているのでうまく変数に代入できずに困っております。 例えば、出力されたcsvファイルは以下のようになっております "ABC CO.,I","4540",""STAR"","2010/03/31" 希望としては aにABC CO.,I bに4540 cにSTAR dに2010/03/31 をそれぞれ代入したいのですが aに入る文字列にはCO.,Iというようにカンマが既にありますので カンマ区切りで読み込むとめちゃくちゃになってしまいます ですので基準をダブルクオーテーションに置き、"と"の間の文字列を代入というような形が取れれば良いのですが、このような方法での文字列取得は可能でしょうか? c言語の勉強を始めて間もない為、低レベルな質問、表現であることをお許し下さい。 よろしくお願いします。

  • Excel VBAにてCSVファイルを読みたい

    ExcelにてCSVファイルを読んで処理をしたい。 ただし、CSVファイルをExcelでopenすると遅いので、 VBAにてファイルとして読み込みで処理をしたいのですが、 皆さんは、どのように行っていますか? ※CSVファイルは、テキスト区切り→"(ダブルコーテーション)です  テキスト区切り無しであれば、1行読んで、カンマをsplitすれば良いと思いますが。。。。

  • ExcelのCSVファイル出力について

    Excelが出力したCSVファイルを扱うプログラムに関する質問です。 Windwosの[コントロールパネル]⇒[地域と言語のオプション]で、 小数点の記号を「.(ピリオド)」から「,(カンマ)」に変更しました。 するとExcelからCSVファイルを出力したときの各データの区切り文字が 「,(カンマ)」から「;(セミコロン)」に変わるようなのですが、 これに対応できるプログラムを作りたいと考えています。 CSVファイルの区切り文字は、Windowsのロケール情報として プログラム上から取得可能なのでしょうか?

  • CSVファイルの中で、「 , 」カンマを使いたい

    「 , 」で区切られたCSVファイルの中で、「 , 」カンマを使いたいのですが、可能でしょうか? 具体的には「これは1,500円でした。」というように、CSVファイルに収められた文章内で出てくる半角の数字(お金)の区切りに使いたいのです。 全角では代用したくないのですが、CSVファイルでデータを受け渡しする際に、困っています。 例えば、特殊文字などで対応可能でしょうか?

  • ExcelでのCSVファイルの編集について、

    ExcelでのCSVファイルの編集について、 オートフィルタ機能を使いたいため、 ExcelでCSVファイルの編集しようとしているのですが、ちょっと苦戦しています。。。 私が試してみたこと 1.もとのCSVファイルの拡張子を○○.csv → ○○.txtに変更。   ↓ 2.Excelの「開く」からその○○.txtを読み込む。   ↓ 3.テキストファイルウィザードに従い、   1「カンマやタブなどの区切り文字によって~ 」にチェック   2「区切り文字」→ カンマ、「文字列の引用符」 → "   3「列のデータ形式」 → 文字列 ※090などの数字を、90と先頭の0を消されないように 上記のような手順でCSVファイルを取り込み、編集を終え、 保存する時は   「○○.txtにはテキスト(タブ区切り)と互換性のない機能が含まれている可能性があります。    この形式でブックを保存しますか?」 → このまま保存するため「はい」を選択 これでバッチリOK!…かと思われたのですが、 元の編集前の○○.txt は"名前","ヨミ","電話番号1", …… ""とカンマ区切りであったのが、 編集後の○○.txtは名前 ヨミ 電話番号1  …… タブ区切り(?) となってしまっています。 (CSVファイルとしてはタブ区切りでも問題ないのでしょうが…) どうすれば元のカンマ区切りの形式のまま保存できますでしょうか。 アドバイスよろしくお願い致します。