go 读取csv 文件第一列
func ReadFile(ctx context.Context, localFile string, colIndex int) ([]string, error) {
// 打开 Excel 文件
// 打开 CSV 文件
filepath := filepath.Clean(localFile)
file, err := os.Open(filepath)
if err != nil {
logs.CtxError(ctx, "read file:%s err:%v", localFile, err)
return nil, err
}
defer file.Close()
// 创建 CSV reader
reader := csv.NewReader(file)
// 跳过文件头
_, err = reader.Read()
if err != nil && err.Error() != "EOF" {
return nil, err
}
// 逐行读取 CSV 数据并获取第二列数据
var columnData []string
for {
record, readErr := reader.Read()
if readErr != nil {
break
}
if len(record) >= colIndex+1 {
columnData = append(columnData, record[colIndex])
}
}
// 输出第二列数据
return columnData, nil
}