• 締切済み

メモ帳のデータをCSVに変換

こんにちは。データベースを作ることになったのですが、もともとあったデータを取り込みたいと思っています。 元のデータは、ウィンドウズのメモ帳に保存されており、下記のようになっています。 ID:00000 名前:** ** 電話:00-0000-0000 住所: ********* ****** 00-00 ------------- 備考 ************ ********* *************** ------------ というように一人ずつファイルがあります。 これを ID/名前/電話/住所/住所2/備考 という感じのテーブルに変換してデータベース化したいと思っています。 VBA等を使ってこのようなCSVファイルする方法はあるでしょうか? 出来れば、連続・一度に出来ると嬉しいです。

みんなの回答

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

VBAが出来る者には簡単です。結論だけで良いならこうなります。 ただし、テキストファイルを読む、書くは、エクセルVBAの固有のことではないが、昔はテキストファイルしかなく、旧Basic時代は、こういうところからデータの処理が広がったのです。 VBAの解説書なども多数ページの本では例題があるでしょう。 Googleででも テキストファイルを読む テキストファイルを書く テキストファイルを変数する(望みの文字列を元ファイルから作る。CSVファイルはその項目の間をカンマで区切るのが特徴。) を照会したらコードが載っている。 全くの素人には難しいかも。そうすると丸投げで作って暮れになる。 ーー しかし説明がデータ情況が十分でなく >一人ずつファイルがあります。 ID:00000 名前:** ** 電話:00-0000-0000 ・・ は同一レコードの(質問表現上の)改行なのか、見た目の各行が別レコードか(たぶん後者か)が質問者は判ってないと思うので、情況がわかりにくい。 後者なら 名前のレコードが出るごとに次の名前が出現するまでを1人分と考えて、  名前 電話 住所 住所2 備考の順序にカンマを挟んで1つのアウトプット用の文字列を作っていく。 (質問には/で区切るのでなく、名前,電話,住所,住所2,,備考と書くべきだろう) 次の名前が出たとき、作ってある文字列をアウトプットする。 注意として、空白の項目があっても、「,,」は入れる必要がある。 その後今のレコードのでーたで、また次の1人分を作り始める。 レコードが終わったら、最後の人の分として、作ってある文字列をアウトプットし、ファィルをクローズする。 アウトプットファイルは、インプットファイルとは別のファイルになります。

  • violet430
  • ベストアンサー率36% (27472/75001)
回答No.1

エクセルでマクロを作ればできると思います。

関連するQ&A

  • csvファイルを読み込んでデータベースのデータと比較して異なっていた場

    csvファイルを読み込んでデータベースのデータと比較して異なっていた場合は更新するようにしたいと考えています。 csvデータ…10 データベースから取得したデータ…10.0 ※比較するテーブルのフィールドのデータ型はFLOAT型です。 文字列を数値変換して比較、またはデータベースから取得したデータを文字列に変換して比較、どっちがいいのでしょうか。 またどのように比較すればいいのでしょうか。 くだらない質問かもしれませんが宜しくお願いします。

  • Access2007へCSVデータなどをインポートしたい

    Access2007において顧客データベースを運用しています。 定期的に他のデータベースから書き出したCSVファイルを この顧客データベースの中にインポートしたいのですが可能ですか? CSVのデータををテーブルとしてインポートすることはできるのですが、 データベースの中身(データ)のみを項目ごとに割り振って流し込みたいのです。 よろしくお願いいたします。

  • csvファイルのデータをSQLiteに入力したい

    PHP初心者です。 題のとおり、csvファイルのデータを、サーバー上にあるSQLiteのデータベースのテーブル内に入力したいのですが、PHPでのコードはどのようにすれば良いのでしょうか? ローカルのパソコンでSQLiteテーブルに変換してからアップロードしてもOKかと思い、tksqliteというソフトも試してみましたが、使い方がさっぱり分からず上手くいきませんでした。 どなたかお助けくださいませ。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • CSVファイルに変換する

    以下のようなテキストファイルをCSVファイルに変換したいです。 ======================================================= AAAテーブル [DATA 1] CARAM_1 : 1 CARAM_2 : 2 [DATA 2] CARAM_1 : 2 CARAM_2 : 3 BBBテーブル [DATA 1] CARAM_1 : 1 CARAM_3 : 3 [DATA 2] CARAM_1 : 2 CARAM_3 : 3 ======================================================= AAAテーブルとBBBテーブルのデータはCARAM_1でリンクしています。 できれば以下のような形で見れるといいんですけど。。。 ======================================================= CARAM_1 CARAM_2 CARAM_3 DATA_1 1 2 3 DATA_2 2 3 3 ======================================================= もし、変換方法やいいツールをご存知の方がいらっしゃいましたら、教えてください。 m(__)m

  • CSVファイルの取り込みについて。

    エクセルからCSVに変換したファイルを、 Accessのテーブルに取り込みたいと考えています。 電話番号など、 頭に0(ゼロ)のつくデータをCSVに変換すると、 頭の0(ゼロ)が外れてしまうと思います。 テーブルに取り込んだときには、 頭の0(ゼロ)が付いた形にしたいのですが、 どうしたら良いのでしょうか? 取り込んだ後に変換するのでもかまいません。 ご教示下さい。

  • VBAでCSVファイルをインポートする方法について

    VBAでCSVファイルをインポートする方法について OS:ウィンドウズXP Access Version:2000 AccessVBAでcsvファイルをインポートするマクロを作っています。 現在、インポート定義を利用して、データ型を指定したインポートができているのですが、1点だけ問題があり、質問します。 インポートするcsvファイルのA列にIDが入力されています。 そのA列の末尾に、ID(数値型)ではない「<b>32</b><br />」という値が入っています。 Accessのテーブルでは、このIDのフィールドは数値型で管理している為、この1レコードだけ エラーとなり、エラーテーブルが作られ、また、インポート先のテーブルには空のレコードができてしまいます。 この末尾の行については、IDではない「<b>32</b><br />」以外は何もデータが入っていない為、 インポートする必要がありません。 もし可能であれば、csvファイルのA列(Accessテーブルでは数値型のIDというフィールド)が数値ではない場合、 その行のインポートをスキップするような処理がVBAで作成できるとよいのですが、可能でしたら教えてもらえないでしょうか。 ※以下はVBAを作成する為に仮に用意し、読込を行っているcsvファイルと、VBAソースになります。 ○csvファイル名:インポート用csvファイル.csv 内容: ID,テキスト1,テキスト2,テキスト3,テキスト4,メモ1,メモ2, 1,a,A,z,Z,あ,ん, 2,b,B,y,Y,い,を, 3,c,C,x,X,う,わ, 4,d,D,w,W,え,ろ, 5,e,E,v,V,お,れ, 6,f,F,u,U,か,る, 7,g,G,t,T,き,り, 8,h,H,s,S,く,ら, 9,i,I,r,R,け,よ, 10,j,J,q,Q,こ,ゆ, <b>32</b><br />,,,,,, ○VBAソース Dim FN As String Dim Res As Integer WizHook.Key = 51488399 Res = WizHook.GetFileName(0, "", "", "", FN, "", _ "csvファイル(*.csv)|*.csv", 0, 0, 4, True) WizHook.Key = 0 If Res = 0 Then DoCmd.TransferText , "csvインポート定義", "インポートテーブル", FN MsgBox "csvファイルをインポートしました", vbOKOnly End If

  • Load Data INFILE構文について

    お疲れ様です。 いつもお世話になっております。 既にデータが入っているテーブルに対して、CSVをインポートし、該当のレコードだけUPDATEをかけたいと思っています。 ID,名前,備考,属性 1,aaa,, 2,bbb,BBB, 3,ccc,,zok3 4,ddd,,zok4 5,eee,EEE, というデータがあり、これに対して 1,,,zok1 2,,,zok2 5,,,zok5 6,fff,FFF,zok6 というデータを持つcsvを突っ込もうと思っています。 その場合、IDが1,2,5の名前や備考はNULLで上書きされてしまうのでしょうか? また、既存のテーブルにないcsvのID6は入れないようにしたいのですが、これだとLOAD_DATA_INFILEというよりただのUPDATEです。 これらのデータが100万件あって、属性の抜けだけを補完し、既にテーブルから消されているデータはINSERTしたくないのですが、何かスマートな方法はないでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • CSVデータの文字列置換

    かなり、困っております・・・。 「c:\csv_data」に複数のcsvデータが入っており、csvに含まれている "00ABC"を"00000"に変換させたいです。 (フォルダ内の全てのcsvを変換させたいです) 一度作ってみたんですが、Excel-VBAでCSVファイルを開いて編集をかけると書式が失われてしまう為、だめでした・・・。 そこで ・Excel-VBAでの良い方法 ・BATファイルで拡張子csv⇒txtに開いてからの編集⇒csvへ といった2つの方法(どちらか)がであれば作業工程上、他の処理と同時に 自動化できることからこの2つの方法での文字列変換方法を知りたいです。

  • CSV変換

    現在VBからAccessにあるデータをCSVでエクセルに吐き出すという処理をおこなっているのですが、今やってる方法はAccessのテーブルにある項目を一つ一つプログラムによって出力しているのですがテーブルにある項目全てを一気にCSVに変換する方法はありますでしょうか?

  • エクセルデータからCSVファイルへの変換について

    現在エクセルファイルにあるデータをCSVファイルへ変換する作業(エクセルでデータを作成して、保存時にCSVファイルを選択)をしているのですが、以下の例の場合うまく変換ができません・・・。 基本的な質問かもしれませんがどなたかご存知でしたら教えていただけると助かります。 よろしくお願いします。 【例】         (エクセル) ⇒  (CSV) うまくいく   12345     12345 うまくいかない 01234     1234 上記のようにエクセル上は文字列で管理されている ケースだとCSVファイルに変換した時数列に変換 され、上記例のうまくいかないケースのように 頭に0がある場合CSVだと0が消えてしまいます。 よろしくお願いします。

専門家に質問してみよう