CSVファイルの行が突然消える

このQ&Aのポイント
  • CSVファイルの行が突然消える現象について、原因と対策を解説します。
  • CSVファイルを取り込んだ後、突然行が消える問題が発生しています。この現象の原因と対策について調査しました。
  • Accessを使用してCSVファイルを取り込んだ後、ファイルの行が突然消える問題が発生しています。この問題の解決方法について解説します。
回答を見る
  • ベストアンサー

CSVファイルの行が突然消える

あるデータを抽出し、それをCSVファイルで取り込み、1つ取り込む ごとにCSVファイルが1行ずつ増えていきます。 適当な時期に、何行かたまった行を一気にAccessを用いてさらに取り込み ます。(取り込むのみ) あるとき、CSVファイルを開くと突然CSVファイルの行が減って いるのです。 何が起きているのでしょうか? Accessに何かマクロとか組んであって突然消えるのでしょうか? Accessを開く前と開いた後(取り込んだ後)で、特にCSVファイル に変更はありません。 あるとき突然CSVファイルを開くと昨日まであった行が突然 消えてしまうのです。(いつ起こるのか予測できていません。) CSVファイルにはマクロが組んであるようには見えません。 何かわかればお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#79209
noname#79209
回答No.1

> あるとき突然CSVファイルを開くと昨日まであった行が突然消えてしまうのです。 この「開く」と「消えている」というのはエクセルで確認しているのですか? ただ位置(行)が変わっているだけとか、或いは、CSVファイルに追加しているアプリケーション側のせいとか。 追加しているように見えるが、実は全て再度書き換えているとか...

shiritai
質問者

補足

消えているのは、エクセルで確認しています。 1000行くらい(1000個くらいのデータが)あったのがCSVファイル を開いたときに突然消えるときがあるのです。 その消えるタイミングがわからないのです。1ヶ月に1回くらい。 1行ずつ取り込む作業は、UWSCを用いて実施しています。 プログラムを見ても行を消すようなプログラムは入っていないので 1行ずつの取り込みの時には消えないと思われます。

関連するQ&A

  • 行数の多い(65536行以上)csvファイルからピボットを作りたいので

    行数の多い(65536行以上)csvファイルからピボットを作りたいのですが、どうしたらよいでしょうか? 友人に、 1.アクセスにcsvファイルをとりこむ 2.エクセルのピボット作成で、外部データソースの取り込みを選ぶ 3.アクセスデータベスを選ぶ 4.アクセスのファイルのある場所を選んで、取り込んだファイルを選択 5.適当に「次へ」ですすんで、「完了」 でできるといわれたのですが、最後の「完了」の段階で、 「From句の構文エラー」 となってデータが取り込めません。 どなたか教えていただけないでしょうか。上記の方法でなくとも、行数の多いcsvファイルからピボットが作成できればいいのですが。

  • CSVの3行目だけを…

    はじめまして!Nakanoと申します。 えっと、以下質問になります。おねがいします。。 CGI/Perlを始めて1週間程度の素人なのですが、 CSVファイルをHTMLのテーブル表示させる 様にしたいなと思っています。 そこで用意したCSVファイルが5行と8列で カンマ区切りのみで構成されています。 このCSVファイルから3行目だけを抽出する方法 ってありますでしょうか? 1行目のみ表示や1行目以外の2行目以下全てを表示 させたりは出来たのですが、3行目だけを表示するの がどうしても分かりませんでした・・・・・ 何方様か。よろしければその辺の所を詳しくご指導 いただけないでしょうか? よろしくおねがいします。

    • ベストアンサー
    • Perl
  • csvファイルを取り込み指定の形式にする

    EXCELでcsvファイルを取り込み指定の形式にして、csvファイルとして 保存するマクロを組みたいです。 途中までマクロの記録機能を使い作ったものです。 Sub csvファイルの取り込み() 'Windows("a.csv").Activate '←ここでファイルを選択する形式にしたい。 Columns("C:H").Select Selection.ClearContents Columns("A:A").Select Selection.Delete Shift:=xlToLeft Range("A1").Select ActiveCell.FormulaR1C1 = "Number" Rows("2:2").Select Selection.Delete Shift:=xlUp Rows("1:1").Select Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:="<>C*", Operator:=xlOr, _ Criteria2:="=C1*" ', Operator:=xlOr, Criteria2:="=AABC*" Rows("4:13").Select '←ここをフィルタで選択された行を削除するように変更したい。 Selection.Delete Shift:=xlUp Selection.AutoFilter Field:=1 Range("A1").Select End Sub マクロの流れとして ・まずcsvファイルを取り込む ・C列からH列までを削除(もしくは数値をクリア) ・その後、A列を削除 ・A1セルに文字があるのでその文字を"Number"に変更 ・A列にある指定の文字列をフィルタで抽出してその行を削除  (抽出文字列は以下の3パターン。) Cで始まらない文字を抽出 or C1で始まる文字を抽出 or AABCで始まる文字を抽出 ・以上の作業を終了したら取り込んだファイル名の 左から11文字+"ABC"の文字をあわせてファイル名として CSVファイルで保存する 長くなってすいません。助けてください

  • CSVの5行づつを比較しながら書き込みたい

    CSVファイルを取り込み、さまざまなゴミを除去した後、 新たなCSVファイルへ書き込むという所まではできたのですが、行きづまっております…。 このCSVファイルは、アクセス時間、ファイル名、IPアドレス、の3列になっていまして、例えばですが 12:00:00,fileA,255.255.255.0 12:00:01,fileA,255.255.255.0 12:00:10,fileA,255.255.255.0 12:10:10,fileB,255.255.255.255 12:10:15,fileB,255.255.255.255 のようになっています。 上記のトップ3行のように、数秒以内に同じ人が同じファイルにアクセスしたという 状況はゴミとして除去したいのですが、最初のアクセスだけは正規のアクセスとして生かしたいのです。 こういった前後5行ほどを比較し、時間が近ければ除去しつつ、新たなCSVへ書き込むという 方法はどのように行ったら宜しいのでしょうか? どうぞ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • vbs csvファイル内の行を変更

    vbsにて、csvファイルを読み込み、 以下のように行の値を変更することは可能でしょうか。 変更箇所は1行目です。 <元csvファイル> 氏名 性別 年齢  <変更後csvファイル> フルネーム 男女 年 住所 電話番号 コードのご教示お願いいたします。

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

    CSV取り込み方法について 教えていただきたくお願いいたします。 エクセルのマクロ・VBAの組み方について デスクトップ上の000という名前のCSVファイルを、作業しているエクセルファイルのLoadという名前のシートに貼り付けたいと思っています。 CSVファイルはエクセルで開くと1行に11列の項目が展開されています。 貼り付ける項目はこのようになります。 (CSV) →(エクセルのLoadシート) 1列目(A行)→B行へ 2列目   →C行へ 3列目   →D行へ 4列目   →E行へ 5列目   →F行へ 9列目   →G行へ 10列目  →H行へ 11列目  →I行へ (6.7.8列目は使いません) 最後にLoadのシートのA行に”=B&E”とい式を入力したいと思っています。 まだ初心者なので勉強中なのですが、仕事上急遽必要になりましたのでお願いいたします。

  • CSVファイルの扱いについて

    CSVファイルを業務で扱うにあたり、皆さんはどのようにされてますか? インターネットなんかでは、とかく「テキストファイル取込みウィザードを使う」とかの方法ばかり紹介されますが、あんな小難しく面倒な方法を、みんな使われているのでしょうか? 1回や2回ならともかく、何度もCSVを開くに当たっては、テキストファイル取込みウィザードをいちいち使ってたら時間がかかりすぎます。項目数の多いCSVを扱いますし。 周囲にそのやり方を説明しても、七面倒臭いので受け入れられません。私はマクロができるので、もうマクロで取り込むようにしてますが。 皆さんはどのようにされてますか?CSVはExcelで開いてコピペとかするようにしてますか?でもそれだと、Excelの独自解釈機能によって「0001」みたいな文字は先頭のゼロが欠損したりするし、困るんですよね。

  • csvファイルの読み込みができません。

    csvファイルの読み込みができません。 過去にExcelで作成したデータをcsvに変換するマクロを作ってもらいました。 (Excel表の中にマクロを登録したボタンがあって、それをクリックするとcsvファイルが作成される) そのcsvファイルをそのまま使用すると、読み込みができますが、一旦csvファイルを開いて一部データの変更をして保存すると読み込みができなくなります。 また、自動にファイル名が設定されるので、わかりやすいようにファイル名を変更しただけでも読み込みができなくなります。 csvファイルにも種類があるんでしょうか?

  • エクセルVBAでCSVファイルから取り込みたいのですが・・・

    CSVファイルのデータを取り込むコードを教えていただけないでしょうか。 「共有フォルダ」の中に「作業用.xls」と「090820.csv」があります。csvファイルは日によって名前が変わりますが、必ず一つしか入れないことにしています。 CSVファイルの1行目は見出しです。2行目以降がデータになっています。 A2からI列最終行を「作業用.xls」のsheet1のA6にコピー(取り込み)したいのですが、よろしくお願いします。

  • 【PHP】CSVファイルの特定行を書き出す

    PHPでCSVファイルを読み込み、特定行のみを別のCSVファイルに書き出したいと思います。 作りたいものは、 http://example.com/file.php?repert=5 とすると、「002.csvファイルの5行目のみ」を「003.csv」に書き込むというものです。 下記で作りましたが、 Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\file.php on line 32 になります。 指摘された32行は ?> の行です。 ググると改行コードのトラブルのようでしたのでCR+LF CR LF と試しましたが、改善されません。 どこが不味いかご教示戴けませんでしょうか? 宜しくお願い致します。 <?php $repeat = $_GET['repert']; $inFile = '002.csv'; // 抽出元ファイル $outFile = '003.csv'; // 結果ファイル $inFp = fopen($inFile, 'rb'); $outFp = fopen($outFile, 'w'); while ($data = fgetcsv($fp, 10000)) { if ($count == $repeat) { { $outLineArray = array( 0 => $data[0], 1 => $data[1], 2 => $data[2] ); fputs($outFp, implode(",", $outLineArray) . ""); } } fclose($inFp); fclose($outFp); exit(); ?>

    • 締切済み
    • PHP

専門家に質問してみよう