access 2003で質問です。
次のようなcsvファイルをインポートしたいと思っています。
(左から順に 個人番号,氏名,血液型,出身 となっているが、空欄になっているところもある)
001,A山太郎,A型,千葉県
002,B田次郎,北海道
C川三郎,O型,東京都
何も考えずにインポートすると、個人番号のフィールドに氏名が入ったり氏名のフィールドに血液型が入るフィールドが出てきます。
これを、個人番号がなければそこは空欄にするよう自動判別する方法はありますでしょうか?
もしもありましたら、初歩からご教授願います。
(始めたばかりですので…)
No.2ベストアンサー
- 回答日時:
こんにちは。
maruru01です。そのCSVファイルはどのように作成しているのでしょうか?
通常、空欄になっている場合は「,」だけが残るはずです。
001,A山太郎,A型,千葉県
002,B田次郎,,北海道
,C川三郎,O型,東京都
というか、「,」がなければ列の判定がぐちゃぐちゃになるのは当然です。
このようなデータは、まともなCSVファイルとは言えません。
まともでないデータなので、Access側でインポート時にこれを判別させるのは、大変な労力になるでしょう。
(かなりのVBAプログラムを書く必要がありそう。)
データ量にもよりますが、Excelなどで列位置を全部直して保存するのがいいと思います。
そうすれば、Accessにインポート出来ると思います。
やはりaccessでは難しいですか。
実際は10項目1万件以上のデータなので、accessでなんとかできればと思ったのですが…。
No.4
- 回答日時:
不思議な質問です。
>そのCSVファイルはどのように作成しているのでしょうか
(maruru01さん)の答えは?
>すでにこのファイルになってしまっています。
なっていても、プログラムミスなら訂正して、もう一度書き出せば良いのでは。
>書き出すときにこのような方式にできないのでしょうか
(quothさん)の答えは?。
>アクセスでVBAを使って書換える方法はありますが
(laputartさん)
pen-penさんは、一般的な文章を用いてでも、「個人番号がなければそこは空欄にするよう自動判別する方法」を表現できますか?。できてもプログラム出きるとは限らないが、出来ないのでは?。文章に表現できないものはプログラムを組めません。質問に掲げた例も実情を隠した例えになっていませんか。
もし実情であれば、例えば(1)最初に3桁数字がなければ番号なし(2)2番目に漢字があれば氏名あり(3)血液型アルファベット文字がなければ、血液型なし、次に漢字で府県名が来ると住所とする、と考えたとしても、すぐ反論されるケースが予想されるし、危ういロジックであり、また上記でも結構プログラムは難しく、質問の状況からして、質問者がプログラムを作るのは無理でしょう。
むしろ、ファイルを作った人に頼めは、解決の余地が有るはずです。空白が空いているとか。
すみません、うまく質問ができていませんでした。
>そのCSVファイルはどのように作成しているのでしょうか
webからダウンロードしたものです。CGIなどで作っているようですが、周囲に作者がいないのでどのように作成しているのか聞けませんでした。
>書き出すときにこのような方式にできないのでしょうか
上記の通り近くに作者がおらず、私ではできません。
やはり、今の私ではAccessを使って作業するのは難しいので、今回はあきらめます。
No.1
- 回答日時:
通常CSV形式で書き出した場合、空欄になっているフィールド(欄)は、カンマだけになるはずです。
例でいえば
001,A山太郎,A型,千葉県
002,B田次郎,,北海道
,C川三郎,O型,東京都
といった具合です。(2つ目、3つ目にカンマが加わっています。)
書き出すときにこのような方式にできないのでしょうか?
これができれば簡単にインポートできます。
すでにこのファイルとなってしまっているのであれば、自分でテキストエディターなのでカンマを追加し、インポートする方が(量によりけりですが)手っ取り早いと尾も増す。
すでにこのファイルになってしまっています。
テキストエディターによる加工も考えたのですが、量が非常に多いため(1万件以上…)accessでうまいことできればと思ったのですが…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスでcsvに出力した際、頭...
-
【CSVファイル】先頭の文字列に...
-
カンマがデータとして入ってるC...
-
CSVファイルのセルに「01」と入...
-
Access2007のエキスポートについて
-
TXTで作成したファイルをDATフ...
-
accessで項目内の文字を自動改...
-
100万行のCSVを10万行ずつのフ...
-
Accessでdatファイルのインポート
-
csvファイルが保存すると数...
-
MS-Accessの保存方法
-
Access95のエクスポートで教え...
-
行列転置データのファイル変換方法
-
メモ帳のデータをCSVに変換
-
CSVの文字列が""○○""というよう...
-
ファイルメーカーによるtxtファ...
-
アクセスからエクセルへの変換...
-
Access インポート
-
SQLPLUSで結果を画面に表示しない
-
【Excel】[Expression.Error] ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
100万行のCSVを10万行ずつのフ...
-
【CSVファイル】先頭の文字列に...
-
ThunderbirdのメールをCSVでま...
-
Access インポート
-
TXTで作成したファイルをDATフ...
-
アクセスでcsvに出力した際、頭...
-
Access2007のエキスポートについて
-
タブ区切りデータからダブルコ...
-
csvファイルが保存すると数...
-
カンマがデータとして入ってるC...
-
accessで項目内の文字を自動改...
-
Access95のエクスポートで教え...
-
アクセスがインポートできる容...
-
エクセルデータをテキストファ...
-
CSVファイルのセルに「01」と入...
-
ファイル名が同じ場合自動的に...
-
Accessで小数点以下を切り捨て...
-
TSVのファイルをACCESSにインポ...
-
csvファイルをAccessに取り込む...
-
datファイルをAccessでイ...
おすすめ情報