如何处理100个csv文件,并编写单个"摘要统计信息" csv,每行一个文件?

时间:2017-04-11 20:19:46

标签: r csv dataframe data.table

我有数百个* csv文件。我想查看每个的摘要统计信息,然后将这些统计信息记录在单个dataframe / csv文件中,每行包含一个csv。

让我们说它是来自基础R的以下数据框

> mtcars
                     mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2

...

我可能会记录mpg的平均值,即mean(mtcars$mpg)20.09062

结果数据框的行将是

             mean_mpg   max_mpg  ... 
mtcars   20.09           33.9          ...
df2         232             92.7          ...

我知道glob如何files = Sys.glob("*.csv")某个路径中的所有* csv文件,for file in files: df = read.csv(file) mean = mean(df$mpg) ....

string programToRun = "C:\\Users\\dkahn\\Documents\\PlaybackTool\\PlaybackTool\\Desktop\\Source\\Player\\Player\\ffmpeg\\ffmpeg.exe";

string directoryName = "C:\\Users\\dkahn\\Documents\\PlaybackTool\\PlaybackTool\\Desktop\\Source\\Player\\test\\test1-1.mp4";

string command = "@ffmpeg -i test1-1.mp4 -r 1  -s 180x101 test1-1\\output_%04d.png";

Process cmd = new Process();
cmd.StartInfo.FileName = programToRun;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.WorkingDirectory = directoryName;
cmd.Start();
 cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();

现在,我被困住了。如何将这些值写入一行以获得巨大的汇总csv?

(抱歉n00b问题,但我有点迷失了)

0 个答案:

没有答案