
以下のようなCSVファイルがあり、これをAccessにインポートしようとしています。
フィールド1 数字7桁
フィールド2 数字2桁
・・・・・
フィールド20 テキスト42桁
・・・
フィールド26 数字13桁
ただ、レコードの中には長すぎるためか途中で改行されてしまっている
レコードがあり、レコードが途中で切れてしまい、続きが次の行に
読み込まれると言う少し困った状態になっています。
(見たところ、フィールド20で切れているようです)
数箇所なら元のCSVを修正してから取り込めばいいのですが、全体が約80万件で、
そのうち200件以上はあるため、手作業でなく何か自動的に直す方法で対処したいと思っています。
(元のCSV自体が読み込みが重いため、手作業は困難です・・)
Accessに取り込むためのいい方法はないでしょうか?
OSはWinXPのSP2、Accessは2003です。
No.4ベストアンサー
- 回答日時:
検索や置換に正規表現を使えるテキストエディタやPerlの処理系が
あれば、対処出来ます。
フィールド1が数値なので、改行直後は数字であるのが正しいはずで
すよね。テキストの途中で手動で改行してしまったような場合は改
行直後が数字ではない可能性が高いので、そのパターンを見つけて
置換してしまいましょう。たとえば(\r)([^0-9])を\2にとかね。
CSVの処理はOffice製品以外を使うのがコツです。
No.3
- 回答日時:
次のような手順はいかがですか?「フィールド20」以外は数字項目であると仮定しています。
1. 次のような空のテーブルAを用意する
一連番号 オートナンバー型
フィールド1 数字7桁
フィールド2 数字2桁
・・・・・
フィールド20 テキスト42桁
・・・
フィールド26 数字13桁
2. テーブルAに1件、ダミーレコードを格納する
3. 次のような空のテーブルBを用意する
一連番号 オートナンバー型
フィールド20 テキスト42桁
・・・
フィールド26 数字13桁
4. テーブルA、テーブルBにCSVファイルをインポートする
5. テーブルAの先頭レコードを削除する
5. 削除クエリを作成してテーブルAから「フィールド1」の内容が「フィールド20」であるレコードを削除する(VarType関数で判断)
6. 削除クエリを作成してテーブルBから「フィールド20」の内容が「フィールド1」であるレコードを削除する(VarType関数で判断)
7. テーブルA、テーブルBを「一連番号」で結合した、テーブルAの更新クエリを作成し、テーブルBの「フィールド20」~「フィールド26」でテーブルAの「フィールド20」~「フィールド26」を更新する
この手順でテーブルAは求めるテーブルになっているはずです
No.2
- 回答日時:
A.量的に手作業で不可能
B.質問にぴったりの操作もない(そんな特殊ニーズ向きの操作ある訳がない)
であればプログラムで処理するしかない。
プログラム組めない?。●投げだが、じゃあ今回限りということで、ご親切なご回答者が現れるのを待つより他ない。
ーー
そこで問題のレコードを見つける方法は、どうしたらよいか考えましたか。それが判らなければプログラムも組めない。
ーー
私の推測では
CSVを文字列に読み込む(通常は1レコード)
Split関数で、その文字列をカンマで分離。分離されて配列に入るが、Uboundで、これで何個に分離したかわかる。
普通は26個。
分割されたものは25個以下(多分質問者の言によると、20個らしい)なら、分断されたと看做す(X)
25以下なら次を1つ読んで継ぎ足す。
ーー
●Xについて質問者は正しいと思うか?
●80万件CSVファイルを例えばLINE INPUTで読んで、辛抱できないくらい長時間かかると思うか(y)
>元のCSV自体が読み込みが重いためー>少し時間はかかるのは当然だが、私には信じられないが。
ともあれ、CSVファイルを読まなきゃプログラムで処理できないのはあたりまえ。
ーー
この2つぐらいについての見解を補足しておいたら。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCEL→ACCESSインポートでセル内改行が機能しません・・。
Access(アクセス)
-
ACCESSでの改行コード
その他(データベース)
-
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
-
4
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
7
アクセス・テーブルの改行についてです。
Access(アクセス)
-
8
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
9
エクセルからアクセスにインポートする際のエラーについて
Access(アクセス)
-
10
Access テーブルを分割してエクスポートしたい
Access(アクセス)
-
11
2つのテーブルをLIKE演算子のように結合させたい
その他(データベース)
-
12
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
13
AccessからExcelのファイルを起動する
その他(データベース)
-
14
Access サブフォームでの選択行の取得
その他(データベース)
-
15
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
16
「#エラー」の回避
Access(アクセス)
-
17
ACCESSにCSVインポート時の文字化け
Access(アクセス)
-
18
【ACCESS】入力規則(Len関数)の桁数の複数指定
Access(アクセス)
-
19
アクセスで「モジュールがありません」となってしまいます
Access(アクセス)
-
20
ACCESSで改行コードを削除する方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスで追加した項目に全て...
-
アクセスのクエリ 1文字以上を...
-
Accessで、1つの項目に複数の...
-
テキストボックスにクエリ結果...
-
アクセス クエリのフィールド...
-
Access:値が求めたい値の2倍...
-
Accessで、テーブルに入力した...
-
Access で 特定の文字の個数を...
-
テーブルでメモ型になっている...
-
Accessの電話番号フィールド
-
Accessのテーブルのフィールド...
-
Accessを開きなおすとテキスト...
-
excelについて。
-
ACCESSVBAで既存のクエリの日付...
-
access フォームを開くと「パ...
-
Access2007のテーブルにハイパ...
-
Access2002の重複クエリで大文...
-
フィールド名の変更について(...
-
accessでの文字列の混ざった連...
-
Accessのクエリでハイパーリン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessで、1つの項目に複数の...
-
アクセスで追加した項目に全て...
-
Accessのテーブルのフィールド...
-
テキストボックスにクエリ結果...
-
Accessを開きなおすとテキスト...
-
テーブルでメモ型になっている...
-
アクセスのクエリ 1文字以上を...
-
Accessで、テーブルに入力した...
-
アクセス クエリのフィールド...
-
Access:値が求めたい値の2倍...
-
access フォームを開くと「パ...
-
Access で 特定の文字の個数を...
-
追加クエリで特定フィールドの...
-
ACCESSで2つフィールドの日付...
-
accessvba 複数条件でFilterを...
-
Access 選択クエリで「テーブ...
-
アクセスのクエリに「PHONETIC...
-
「[Microsoft][ODBC SQL Server...
-
途中で改行されたCSVをAccessに...
-
Accessの電話番号フィールド
おすすめ情報