0

以下代码适用于“Winner”类型。该技术是带有节点流的打字稿。

有时有人会上传winner-2 类型。我想查看标题并根据标题更改格式类型。

我可能

  • 编写一个函数来读取标头并根据“解析”返回流。这是一个类的一部分,所以我可以设置类型。这将需要一行并返回一个。
  • 制定Winner|Winner2 的规格,看看会发生什么。在transform中查看结果
  • 制作一个超级获胜者界面并提取设置的值。

由于存在不一致,我计划重写标题。

如何解决将这些不同的 CSV 输入归一化为一个理想化结构的问题?rxjs?

import {parse, RowTransformCallback} from "@fast-csv/parse";

 stream
     .pipe(parse({headers: true}))
     .pipe(format<Winner, Winner>({headers: true}))
     .transform((row, next): void => {
           this.processRow(row, next)
  })
     .pipe(process.stdout)
     .on('error', reject)
            .on('end',
                (rowCount: number) => console.log(`Parsed ${rowCount} rows`));
    });
4

1 回答 1

0

我重写了映射函数中的标题以获取模式 a 和模式 b 并将它们转换为目标模式

 stream
    .pipe(parse({
      headers: headers => headers.map(h => {
        if (h === 'Email') {
           return 'email'
        }
        if (h === 'Firstname') {
           return 'firstName'                  
        }
        return h
     }),
    }))
于 2021-06-25T09:29:56.907 回答