- ベストアンサー
csvファイルで実績データを読み込んで計算したいのですが...
実績データでフィールドが15項目あって、2番目に日付が書かれていて、15番目に金額が書いてあるcsvファイルで、日付ごとの金額合計を出すというものなんですが、日付ごとの合計を出す方法が思いつかなくて困っています。誰かいい方法を教えてくれませんか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- symgt
- ベストアンサー率56% (68/120)
- toda hiro(@hiro_knigh)
- ベストアンサー率39% (59/151)
- SilverThaw
- ベストアンサー率32% (260/806)
関連するQ&A
- csv.ファイルをCで読み込みたいんですが?
実績データのCSVファイルでフィールドが15でレコードが1000000あるデータをC言語で読み込みたいんですが。なかなかうまくいきません。 どうしたらいいか、教えてください。
- ベストアンサー
- その他(学問・教育)
- CSVデータの加工
CSVデータの項目数が多くアクセスで加工できません。 また データ量も多いため,一般のフリーのCSV閲覧ツールでは加工できません。 何か良い方法ないでしょうか? 項目数が600余りあります。 何番目の項目を抽出し新規ファイルに出力するようなツール無いでしょうか?
- 締切済み
- その他(データベース)
- csvファイルのインポート
Accessでcsvファイルをインポートさせようとしています。しかし、「F1フィールドがありません」のようなエラー表示が出て、できません。私の予想では、テーブルの型とcsvファイルの型が違うのではないかと思っています。テーブルには、数値型、テキスト型、日付/データ型があります。 保存したcsvファイルをExcelで開くと日付がApr-01や、2001/06/26となったりしていました。どこかで型変換のようなことをするのでしょうか?csvのことはよく分かりません。どうか、よろしくお願いします。
- ベストアンサー
- その他(データベース)
- 1000000レコードもあるcsvファイルの実績データをC言語で計算しているのですが...
C言語を学び始めたばかりなのに、csvファイルの実績データでフィールドが15あり、レコード数が1000000近くあるファイルの15番目のフィールドを足し合わせて、出力するということをやっているのですが、まだまだわからないことだらけです。 一応、書いたプログラムが #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { FILE *fp; char buffer[50],*p; int cnt, num, sum; fp = fopen("j0.csv","r"); if(fp == NULL){ printf("ファイルが開けませんでした。\n"); exit(-1); } while(fgets(buffer,fp) != NULL){ p = strtok(buffer,","); cnt = 1; while(p!=NULL){ num = atoi(p); printf("%d:%d,",cnt,num); p = strtok(NULL,","); cnt++; if(cnt==15) sum=sum+num } printf("\b\b \n"); } printf(%d \n",num); fclose(fp); return(0); } と書いたんですが、ぜんぜんな状態です。誰かご教授願えませんか?
- ベストアンサー
- その他(学問・教育)
- CSVファイルの読み込み
お世話になります。 VBAでCSVファイルを読み込んで処理をしたいのですが、 たとえば下記のようなCSVファイルの場合 2つめの項目が金額セットされており、あらかじめ通貨編集(カンマ編集) がされていて 金額を1つの項目として読み込む事が出来ません。 金額は""でくくってあるのですが、 カンマ区切りのデータと""でくくってあるデータを うまく区別して3つの項目をそれぞれ抽出する事は可能でしょうか? -----以下CSVの内容------ 日付,金額,データ 2007/03/09,"1,200",TEST1 2007/03/09,"12,200",TEST2 2007/03/09,"76,00",TEST3 2007/03/09,"4,5600",TEST4 --------------------------- ちなみに現在はこのようにカンマ区切り指定でデータを抽出してるので うまく出来ません。 'FileNameにはオープンするファイル名がセットされています Open FileName For Input As 'textlineに1行を読み込む Line Input #ch1, textline csvline() = Split(textline, ",") VBAがまだ不慣れな為質問やサンプルが分かりずらいと思いますが よろしくお願いします。
- ベストアンサー
- Visual Basic
- PHP+MySQL でのcsvファイルインポート
PHP + MySQL で、他システムから出力されてきたcsvファイルをテーブルへインポートしたいと考えています。 LOAD DATA INFILE で取り込もうとしていますが、対象のcsvファイルの特徴のためにうまく行かず苦戦しています。 取り込みたいファイルは、以下のようになっています。 ・各フィールドが "(ダブルクォート) で囲まれている ・各フィールドは ,(カンマ) で区切られている ・金額の項目には、桁区切りのカンマが入っている 例) "0001","あああああ",…(中略)…,"105,000","100,000","5,000",… コード 項目名 税込み 税抜き 消費税 というような形です。 困っているのは、金額に使われている、桁区切りのカンマの処理についてです。 目的としては、データベースへ取り込むときには 105,000 は 105000 として取り込めればいいのですが、他システムから、桁区切りがなされた状態でcsvが作成されてきています。 LOAD DATA INFILE test.csv INTO TABLE data_table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' IGNORE 1 LINES; 各項目のダブルクォートはENCLOSED BY で、項目を分けるカンマはTERMINATED BYで処理できていると思うのですが、金額の区切りに使われているカンマと項目の区切りのカンマを区別させられずに苦戦しています。 事前にcsvを加工するのも考えてはいるのですが、なるべくcsvを加工せずにそのまま取込したいと思います。 何か、簡単に回避できる方法等があればご教示願います。 宜しくお願いします。
- ベストアンサー
- PHP
- csvファイルの実績データをC言語で解析するのですが...
C言語を学び始めたばかりなのに、csvファイルの実績データでフィールドが15あり、レコード数が1000000近くあるファイルの15番目のフィールドを足し合わせて、出力するということをやっているのですが、まだまだわからないことだらけです。 1レコード目がカラム名なので2レコード目から足し合わせるんですがそこのところもよくわからずじまいで... 一応、書いたプログラムが #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { FILE *fp; char buffer[50],*p; int cnt, num, sum; fp = fopen("j0.csv","r"); if(fp == NULL){ printf("ファイルが開けませんでした。\n"); exit(-1); } while(fgets(buffer,fp) != NULL){ p = strtok(buffer,","); cnt = 1; while(p!=NULL){ num = atoi(p); printf("%d:%d,",cnt,num); p = strtok(NULL,","); cnt++; if(cnt==15) sum=sum+num } printf("\b\b \n"); } printf(%d \n",num); fclose(fp); return(0); } と書いたんですが、ぜんぜんな状態です。誰かご教授願えませんか?
- ベストアンサー
- C・C++・C#
- CSVファイルをテーブルにインポートする
1行目が項目名のCSVファイルをテーブルにインポートするため Private Sub CSVインポート_Click() DoCmd.TransferText acImportDelim, , "ブランド", "J:\ブランド.TXT" MsgBox ("CSVファイルインポート完了") End Sub を実行すると、f1,f2のフィールドがありませんとメッセージがあり F1,F2 のフィールドを追加し再度実行するとデータは f1,f2に入り 項目名もデータとして入っています。 1行目は項目名と宣言する設定はありますか。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- CSVファイルをExcelで読み込むと
CSVファイル中の項目 "01-03"などが、Excelでは 勝手に 1月3日などに変換されてしまいます。 もちろん、拡張子を.txtに書き換えて、毎回フィールドを 文字列属性にして読み込んでやればいいのでしょうが、 なにぶん量が多いので、毎回毎回こんな操作をするのは めんどくさいのです。 CSVファイルのままで、項目を勝手に変換させないで読み込む方法はありませんか??
- 締切済み
- オフィス系ソフト
補足
とりあえず、フィールドの15番目の金額の合計を出すプログラムはできたんですが、これはfgets()で1行ごとに読み込んでstrrchrでカンマの最後にポインターって感じで15番目の最後のフィールドのものだから計算できたんですが、今回の日付と金額を関連付ける方法がわからないんです。