如何生成多个csv文件的汇总平均值?我在一个特定的文件夹中有多个具有附件格式的csv文件,如何生成一个新文件,其中包含以下格式的每个csv文件的所有列A,B,C,D的平均值的摘要:
| 文件名 | 一种 | 乙 | C | d |
| | avg_colA_file1 | avg_colB_file1 | avg_colC_file1 | avg_colC_file1 |
| | avg_colA_file2 | avg_colB_file2 | avg_colC_file2 | avg_colC_file2 |
| | | | | |
我知道要使用表格摘要生成每个csv文件的平均值,但是如何使用单个脚本对多个csv文件进行相同的处理?
分析工具数据表美国能源部脚本编写回复:如何生成多个csv文件的摘要平均值?使用“多个文件Import()”。
“脚本指南”中提供了文档,该文档位于JMP文档库的“帮助”下拉菜单下。
回复:如何生成多个csv文件的摘要平均值?谢谢,但这只会将多个文件导入到一个数据表中。 我想知道如何使用一个脚本来计算每个文件中所有列的平均值回复:如何生成多个csv文件的摘要平均值?多个文件导入功能可以添加一个新列,其中包含数据来自的文件的文件名(添加文件名列)。 这意味着您可以轻松地在摘要中添加By()子句,该子句将为导入的每个文件提供单独的平均值。
回复:如何生成多个csv文件的摘要平均值?您是否尝试过Tables-> Summary函数正在执行所需的工作?


回复:如何生成多个csv文件的摘要平均值?我正在尝试使用以下脚本,但此脚本无法运行,请您告知此处的问题是什么?
dt =多个文件导入(
<<设置文件夹(
“ C:\ Users \ my_files \”
),
<<设置名称过滤器(“ *。*;”),
<< Set Name Enable(0),
<<设置大小过滤器({37111019,38896395}),
<< Set Size Enable(0),
<<设置日期过滤器({3689368844.046,3689369157.819}),
<<设置日期启用(0),
<<设置添加文件名列(1),
<<设置添加文件大小列(0),
<<设置添加文件日期列(0),
<<设置导入模式(“ CSVData”),
<<设置字符集(“最佳猜猜”),
<<设置堆栈模式(“堆栈相似”),
<<设置CSV具有标题(1),
<<设置CSV允许数字(1),
<<设置CSV第一个标题行(1),
<<设置标题行的CSV编号(1),
<<设置CSV First Data Line(2),
<<设置CSV EOF逗号(1),
<<设置CSV EOF选项卡(0),
<< Set CSV EOF Space(0),
<<设置CSV EOF空格(0),
<<设置CSV EOF Other(“”),
<<设置CSV EOL CRLF(1),
<<设置CSV EOL CR(1),
<<设置CSV EOL LF(1),
<<设置CSV EOL分号(0),
<<设置CSV EOL其他(“”),
<<设置CSV报价(“ \!”“),
<< Set CSV Escape(“”)
)<<导入数据;
dt << Get Rows Where((A <= 20);
dt <<删除行(sel);
dt <<
概要(
组(:文件名),
均值(:A),
频率(“无”),
重量(“无”)
)
回复:如何生成多个csv文件的摘要平均值?小额信贷机构总是返回数据表的列表(不是一个表,而是一个包含一个或多个表的{list})。 我们需要查看日志中的一些消息以提供更好的答案-不确定删除行的语法-但以下两种情况之一:
for(i=1,i<=nitems(dt),i+=1,
dtx = dt[i];
dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);
dtx<<
Summary(
Group( dtx:File Name ),
Mean( dtx:A ),
Freq( "None" ),
Weight( "None" )
)
)
或者如果你知道只有一个
dtx = dt[1];
dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);
dtx<<
Summary(
Group( dtx:File Name ),
Mean( dtx:A ),
Freq( "None" ),
Weight( "None" )
)
使用dtx作为dt中列表的当前表。
回复:如何生成多个csv文件的摘要平均值?@Craige_Hales答案正确,原始代码提出了一个错误。变量“ sel”位于:
dtx << delete rows(sel);
没有定义。该代码需要更改为以下两个才能正常工作
dtx = dt[1];
sel = dtx << Get Rows Where ( dtx:A <= 20);
dtx << delete rows(sel);