研究のデータ整理に関して助けてください。
現在の研究で一度の実験でCSVファイル100~1000個のデータ量を取得します。
その後、全データを平均した値を必要としています。
今は、ファイル1つずつをexcelにコピー→貼 り付けをして最後に平均計算をして算出していますが、貼り付けだけで時間がかかってしまいます。
そこで、C言語やMATLAB等で自動に計算をさせることは可能でしょうか?
もしよかったらC++などでのプログラムも教えて頂けると助かります。
ちなみに一つのファイルには3列、50000行のデータ量でこのファイルが100個以上ある現状です。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
calc.vbs ←空ファイル
data ←フォルダ
動作環境はWindows。
あるフォルダに上記ファイル、フォルダを作成。
dataフォルダ内にcsvファイル群を配置。
cals.vbsに以下ソースを貼り付け。
calc.vbsをダブルクリックすると、結果ダイアログが出る。
簡単な動作確認は実施済み。c,matlabとあったが、お手軽なvbsで
勝手に作った。
当方気軽に作っており、使い方、改造等、質問・要望は受け付けない所存。
色々と改造したい場合は自身で解析、改造されよ。
いじょう。
--------------------------------------(切り取り線)------------------------------------------
option explicit
dim fso
set fso = createObject("Scripting.FileSystemObject")
dim folder
set folder = fso.getFolder(".\data")
Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")
Dim objFile
dim col1
dim col2
dim col3
col1 = 0
col2 = 0
col3 = 0
dim num
num = 0
dim file
for each file in folder.files
Set objFile = fso.OpenTextFile(objWshShell.CurrentDirectory + "\data\" + file.name)
If Err.Number = 0 Then
Do While objFile.AtEndOfStream <> True
dim d
d = split(objFile.ReadLine, ",")
col1 = col1 + cdbl(d(0))
col2 = col2 + cdbl(d(1))
col3 = col3 + cdbl(d(2))
num = num + 1
Loop
objFile.Close
Else
WScript.Echo "ファイルオープンエラー: " & Err.Description
End If
next
WScript.Echo "列1平均:" + cstr(col1/num) + vbnewline + "列2平均:" + cstr(col2/num) + vbnewline + "列3平均:" + cstr(col3/num)
--------------------------------------(切り取り線)------------------------------------------
No.3
- 回答日時:
CSVファイルはダブルクリックすればExcelが自動的に立あがります。
アアベレージ関数、個数を数える関数を使えばすぐできるはずです。時間がかかるのはおかしいです。
1日もかからない仕事と思いますが・・・?
C言語でやるなら自習でプログラムを組むなら
1ヶ月ぐらいはかかると思います。
No.2
- 回答日時:
MATLABにはCSVファイルを読み込む機能があるので、
CSV読み取り
→読み取った行列を、集計処理に都合のいいように並び換えたり抽出したり
とできます。
C言語の方は、現在こんなレベルの質問する程度の技術なら、Excelで手で貼り付けとやっている方がまだ早く処理できます。
No.1
- 回答日時:
何故C?
Excel + VBA でもできるし、Java とかでもできます。
何故難行苦行のCでやりますかね? やればできますけど(^^;
Matlab は持ってないのでパス。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- 数学 賃料と専有面積のデータが60部屋分ほどがあり、 賃料÷専有面積(=1㎡あたりの賃料)の数式で計算する 2 2023/02/18 20:33
- C言語・C++・C# C言語で移動平均のプログラムを作りたいのですが、数値をファイルから取ってきて計算をするプログラムはど 1 2022/09/29 01:21
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語について教えて欲しいです。 ファイルの中身をコピーするプログラムを作ってます aというファイル 7 2022/11/03 19:21
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
共有フォルダに誰が何にアクセ...
-
VBAでCSVファイルが使用中かど...
-
tmpファイル なぜできる?削除...
-
Batch: フォルダ内の特定のファ...
-
Access VBA を利用して、フォル...
-
AccessVBAで作成したExcelファ...
-
ファイルの先頭に追加書込みす...
-
Dream weaverで、誤ってファイ...
-
Excel VBA 処理後データが重た...
-
CSVの項目行を削除して一つのフ...
-
excelを共有ファイルにすると行...
-
【アクセス】「ほかのユーザー...
-
月が変わったら自動でシートが...
-
仕事のファイルを共有フォルダ...
-
自動保存されない。何か設定が...
-
メールで送られてきたワードの...
-
一時ファイルについて win32 Ge...
-
ファイルの途中に文字列を挿入
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共有フォルダに誰が何にアクセ...
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
VBAでCSVファイルが使用中かど...
-
XMLデータを変換し印刷する方法
-
AccessVBAで作成したExcelファ...
-
月が変わったら自動でシートが...
-
Access VBA を利用して、フォル...
-
tmpファイル なぜできる?削除...
-
excelを共有ファイルにすると行...
-
Excel VBA 処理後データが重た...
-
(Excelマクロ)datファイルをエ...
-
エクセルファイルのデータ転記...
-
社内Excel共有ブックでの保存ト...
-
大量のCSVデータを行列の変換を...
-
【アクセス】「ほかのユーザー...
-
ファイルの途中に文字列を挿入
-
拡張子が「cda」のファイルを聞...
-
CSVの項目行を削除して一つのフ...
おすすめ情報
各列ごとの平均を求めたいです。
連結させる方法だと下にそのまま結合されてしまったので、イメージ的には横にそのまま貼り付けていけると助かります。