在Golang中,我们有办法在matlab中只读取像textscan这样的某些列,例如:
txt = textscan(op,'%s%*s%s%*s');
谢谢!
答案 0 :(得分:4)
如果您的文件基本上是TSV文件(即带有制表符而不是逗号的CSV文件),您可以围绕stdlib的csv.Reader
创建一个非常简单的包装器:
type FieldsReader struct {
*csv.Reader
fields []int
}
func (r *FieldsReader) Read() (record []string, err error) {
rec, err := r.Reader.Read()
if err != nil {
return nil, err
}
record = make([]string, len(r.fields))
for i, f := range r.fields {
record[i] = rec[f]
}
return record, nil
}
完整代码和用法示例:http://play.golang.org/p/YcwOmsMX2B。