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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- その他(Microsoft Office) EXCELの1行を1枚の用紙にそれぞれ印刷したい。 3 2022/10/10 11:35
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【CSVファイル】先頭の文字列に...
-
100万行のCSVを10万行ずつのフ...
-
TXTで作成したファイルをDATフ...
-
Access2007のエキスポートについて
-
アクセスでcsvに出力した際、頭...
-
ThunderbirdのメールをCSVでま...
-
csvファイルが保存すると数...
-
アクセスがインポートできる容...
-
VBAでMSアクセスに、Tab区切り...
-
PL/SQLで文字列を分割
-
Access95のエクスポートで教え...
-
accessで項目内の文字を自動改...
-
カンマがデータとして入ってるC...
-
タブ区切りデータからダブルコ...
-
AcceseからCSVファイルに吐き出...
-
csvファイルをAccessに取り込む...
-
スマホ電話帳
-
任意のCSVファイルをAccessに取...
-
CVS形式とは?
-
Access インポート
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【CSVファイル】先頭の文字列に...
-
100万行のCSVを10万行ずつのフ...
-
TXTで作成したファイルをDATフ...
-
アクセスでcsvに出力した際、頭...
-
タブ区切りデータからダブルコ...
-
ThunderbirdのメールをCSVでま...
-
Access インポート
-
csvファイルが保存すると数...
-
Access2007のエキスポートについて
-
カンマがデータとして入ってるC...
-
Excelデータをテキストファイル...
-
アクセスがインポートできる容...
-
accessで項目内の文字を自動改...
-
Accessでdatファイルのインポート
-
Access95のエクスポートで教え...
-
エクセルデータをテキストファ...
-
ファイル名が同じ場合自動的に...
-
TSVのファイルをACCESSにインポ...
-
CSVファイルのセルに「01」と入...
-
sqlldrのフィールドの属性について
おすすめ情報