读取/省略 .csv 文件中的特定列你好,
我想读取 .csv 文件中的特定列。 .csv 文件(我目前将其读入 jmp 并连接)有数百列和数十万行,因此将文件读入 JMP 的时间变得非常长,而且 JMP 文件变得如此之大,以至于最终冻结。 由于并非 CSV 中的所有列都需要进行分析,我想知道 JSL 脚本是否可以针对特定列,从而减少加载时间(和 JMP 文件大小)。我在下面包含了一个非常简化的示例,只是想读取下面的 .csv 文件,但省略“sample_no”和“scene__max”列,因此 jmp 表只有 3 列。 (实际上,我希望按名称排除 ~100 列)
对此的任何意见将不胜感激。
| 测量编号 | 样本号 | 等级 | 场景__最大 | 场景__目标数 |
| 1 | 0 | 0 | 4 | 1 |
| 0 | 2 | 0 | 3 | 1 |
| 0 | 0 | 3 | 5 | 6 |
| 0 | 0 | 7 | 4 | 1 |
回复:从 .csv 文件中读取/省略特定列从 CSV 文件的文本导入向导的第二页上,将列标记为排除:
red slash circlered slash circle红色斜线圆圈
导入时,脚本包含您需要再次执行的代码:
Omitted ColumnOmitted Column省略的列
回复:从 .csv 文件中读取/省略特定列如果您可以生成 .XLSX 而不是 .CSV 文件,也许有机会使用 Excel 的 ODBC 连接并使用 JMP查询生成器(和 SQL)使用列的子集进行导入?
根据重组数据的可能性(如果有),您应该了解虚拟加入在 JMP 中(如果您还没有)。
回复:从 .csv 文件中读取/省略特定列
感谢您的反馈,我可能还需要考虑一些预处理。
回复:从 .csv 文件中读取/省略特定列我看了看,但没有找到可以选择从 Excel 工作簿中读取哪些列的方法。您可以在某些选项中选择起始列号和结束列号以及起始行号和结束行号
Data Starts on Row( 2 ), Data Starts on Column( 1 ), Data Ends on Row( 0 ), Data Ends on Column( 0 )
回复:从 .csv 文件中读取/省略特定列@大卫莫罗,
根据我的经验,最好将文件读入 JMP 并在数据进入 JMP 数据表后执行列或行过滤。 当您要排除的数据不按顺序排列时尤其如此。 大多数编程语言都内置了优化的 csv/xlsx 阅读器。 除非您愿意以这样的方式重新调整表格,您可以将所有要过滤的列移动到一端并读取另一侧的列,否则我认为过滤掉备用列可能不会真正有帮助在这种情况下。
此外,当您使用 Open() 打开 .csv 文件时,是否将其设为私有数据表? 打开文件时将数据表设置为私有可以使速度更快。