- ベストアンサー
ファイルの1行のデータをbyte単位でストリング配列に書き込みたい
こんばんは。お世話になります。 ファイルに固定長のデータがあります。1行につき20件位あります。 データは固定長なので、行が変わってもデータの項目名は変わりません。最終的には、このデータをDBに入れます。 CSVファイルだと、カンマで区切ってあるので、データを分けることが出来るのですが、固定長のデータはどういう方法で、区切るのでしょうか? 誰か分かる方は教えてください。よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
関連するQ&A
- CSVファイルの項目行を削除して結合するには?
お世話になります。m(__)m 2000行ほどのCSVファイルが数個あります。 このCSVデータをすべてひとつのファイルに結合したいのですが、 ・それぞれのファイルの1行目にある項目データを削除したい。 ・結合後の1行目には項目名を残したい。 ・可能であればコピーバッチのようなもので作成したい。 と、このように思っております。 どのような手があるか教えて下さい。
- ベストアンサー
- その他(プログラミング・開発)
- 1行目と2行目の間にデータを書き出すには・・・。
私はプログラマではないのですが、会社でPHPプログラムの修正を頼まれてしまいました。 ■現在のプログラム ----------------------------------- $fp = fopen( $CSVFileName, "a+" ); $a = fseek($fp,0,SEEK_END); $ret = fputs( $fp, $CSV_SJIS); fclose($fp); ----------------------------------- 現在は、以上のような方法で新しいデータを追加しているのですが、これをデータファイルの2行目に追加するように変更して欲しいと言われています。 なぜ、そのような要求が出たかというと、データファイルというのがCSV形式のファイルで、1行目にはExcelで処理するための列名(項目名)が入っています。よって2行目に新しいデータを追加したいのです。 どなたか詳しい方がいらっしゃいましたら、回答をお願い致します。
- ベストアンサー
- PHP
- csvファイルをAccessに取り込むとデータ数が増える
項目をカンマで区切っただけの単純なcsvファイルをAccessでインポートしてテーブルを作成したら、データ数が増えてしまいました。 (csvファイルをテキストで開いたときの行数と、Accessの行数が異なる) 5000件ぐらいなら、csvもAccessもデータ数は同じなのですが、データ数が大きくなると、csvとAccessのテーブルで6万件とかの差分が出てしまいます。 csvファイルとAccessで、データ数を同じにするにはどうしたら良いでしょうか。 参考になるURLでも良いので、教えて頂ければと思います。 よろしくお願いします!
- 締切済み
- その他(データベース)
- csvデータの開始行と最終行を全体の4分の1で区切り処理をしたい
csvデータの開始行と最終行を全体の4分の1で区切り処理をしたい csvデータの開始行と最終行を全体の4分の1で区切り処理をしたいと思ってます。 csvファイルは20万件あります。4分の1なので1~50000件となります。 今回は50001~100000件までを行いたいのですが、先日教えていただいたwhile($lines = <IN>) ですと、最初から1件ずつ最終行まで処理をしてしまいます。 (ここから) open(OUT,">$csv"); open(IN,"$data") || &error(" $data を読み込みopen出来ません"); while($lines = <IN>) { ($seq1,$categ,$password,$imail,$cont) = split("\,", $lines); $cont .= " "; $data = "$seq1,$cont,1\n"; print OUT "$data"; $data = ""; } close IN; close OUT; (ここまで) 今回は20万件ですが、毎回このデータ量は月次ごとに変わります。 while周辺をいじるような気がしていますがどのようになるのかがわからなかったので質問いたしました。 お手数かけます。 よろしくお願いいたします。
- ベストアンサー
- Perl
- 5行目からのCSVデータを作りたい
いつもお世話になります。 とあるシステムにデータを入力して、CSVファイルを作成して別システムにインポートしているのですが、そのファイルフォーマットがデータが5行目から始まる形のものなのです。とある事情からそれをエクセルで作成しなければならず、CSVで保存したものを開くと空白行を無視して1行目から始まってしまいます。 1から4行目までを空白にしてCSVを作成する方法をご教授ください。
- ベストアンサー
- Visual Basic
- VBでCSVファイルのある行をインポート
VBでCSVのインポートをしたいのです。 CSVファイルの中身で、最初の5行は読みません。そして、カンマ区切りの行の最初の文字が数字である場合だけを読みたいのです。で最後の3行も読みません。 ですので、CSVのデータを読む場合に最初の5行を飛ばすという方法か、カンマ区切りの行の最初の文字が数字の場合だけ読むという方法はありませんでしょうか。 Line Input #intFileNo, strTextLine strTextLine = Replace(strTextLine, """", "") str = Split(strTextLine, ",") こんな感じのコードで考えてます。 お分かりの方いましたらお願いします。
- ベストアンサー
- その他(ITシステム運用・管理)
- CSVファイルの最終行のデータを取り出したい
PHPでCSVファイルのデータを取り込もうとしています。 全てのデータを表示させるのであれば、「while」などを使って書くのが一般的かと思うのですが、 最終行のデータ(「,」で区切られた最も左のフィールド)だけを取り出したいので、 以下のように書いてみました。 <?php $file = fopen("hoge.csv","a+"); $nakami = fgetcsv ($file, 1000, ","); echo $nakami[0]; fclose($file); ?> 「fopen」のmodeについて、「r」にすれば先頭から読み込まれ、 「a+」もしくは「ab+」ならばファイルの終わりにポインタが来る・・・ と色々なマニュアルに書かれていましたので、上記のようにしてみたのですが、 $nakami[0]で表示されるのは、1行目の最左列のデータになってしまいます。 1)このやり方(modeの設定)では最終行のデータ取得は不可能なのか 2)どのようなやり方なら最終行のデータ(のみ)は取得できるのか お知恵をお借りできれば幸いです。 よろしくお願いいたします。
- 締切済み
- PHP
- PL/SQLで文字列を分割
PL/SQLで、CSVファイルを読み込んでDBにデータを登録しようとしています。 CSVの1行を読み込んだあと、 カンマで区切ってリストに格納してくれるような 便利な関数は無いのでしょうか? 1行の先頭から1文字づつカンマかどうか調べて取り出す、よりも簡単な方法があれば是非教えて下さい。
- 締切済み
- Oracle
- VBS 複数ファイル複数行を配列格納
ある配下のCSVファイル2個(固定)を読み込み、 コンピュータ名の列が同じ行を比較するというツールを作っています。 考えた結果以下まではできましたが、どうしても指定行を配列に埋め込み処理ができません。 比較方法はわかります。 ですが以下のプログラムでは、CSVの行は複数行あるので最終行しか格納されません。 どのようにしたら、2つのCSVファイルそしてすべての行を配列に入れ込むことができるのでしょうか。 For Each FileName In src.Files FileEx = fso.GetExtensionName(FileName) If LCase(FileEx) = "csv" Then Set CsvFile = fso.OpenTextFile(FileName) Do Until CsvFile.AtEndOfStream tmpLine = CsvFile.ReadLine If roopCnt = 0 Then '1個目のCSV ArrayA = Split(tmpLine,",") Else '2個目のCSV ArrayB = Split(tmpLine,",") End rowCnt = rowCnt +1 Loop roopCnt = 1 End If Next
- ベストアンサー
- Visual Basic
- 【csv】空白セルをカウントさせないためには
エクセルファイルをcsvで保存する際、不要なところにもカンマが付いてしまって困っています。 例) 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24, T,77,2008123,133648,,,,,,,,,,,,,,,,,,,, というように、本文データ(24項目)に対して、フッターデータ(4項目)を最終行に挿入する際、 フッタデータの末尾に不要なカンマ(20個)が付いてしまいます。フッターには4項目以外の値は入っていません。 また、対象の範囲の値の削除し保存してみても、カンマが付いてしまいます。 このカンマを付けずにcsvを保存する方法を教えてください。 この作業は繰り返しの作業になるので、マクロを組みたいと考えています。 宜しくお願いいたします。
- 締切済み
- オフィス系ソフト
お礼
ご返事どうもありがとうございます。 ズバリですね。こんな便利なコンストラクタがあるとは。。。今まで、3日位悩んでいたのですが、見事に解消されました。大変感謝しております。 私は、配列の計算などのアルゴリズムが苦手なものですから、大変苦労しておりました。明日、SEが出張から返ってくるので、今夜中に仕上げたいと思います。どうもありがとうございました。とても、助かりました。