【问题标题】:Dart: change "null" string to null while converting CSV file to ListDart:将 CSV 文件转换为 List 时将“null”字符串更改为 null
【发布时间】:2021-05-02 19:20:37
【问题描述】:

我打开一个 CSV 文件并将其转换为 Flutter(Dart) 中的 List 类。除了空单元格外,一切都运行良好。空单元格转换为字符串类型“null”。我正在寻找一种有效的方法来在转换过程中将它们更改为真正的空值。这是我的示例代码:

//--- mytable.csv is an SQLite table

final myStream = File('mypath/mytable.csv').openRead();

final _myList = await myStream
        .transform(utf8.decoder)
        .transform(new CsvToListConverter())
        .toList();

【问题讨论】:

  • “真正的空”是什么意思?您能否提供一个简短的示例数据,说明您目前拥有什么以及您期望什么?
  • 当然是的:_myList[0][2] = "null" 是当前值,但我想更改如下:_myList[0][2] = null 同时从 Csv 转换为当前值列表。

标签: flutter csv dart sqflite


【解决方案1】:

你说你想把_myList[0][2] = "null"变成_myList[0][2] = null

List<List<String?> nullify(Iterable<Iterable<String?>> mylist){
  return mylist.map(
    (list) => list.map(
      (field) => field=="null"?null:field)
    .toList())
  .tolist();
}

【讨论】:

  • 谢谢,亲爱的克里斯蒂安。现在我的问题已解决如下声明。 final _myList = await myStream .transform(utf8.decoder) .transform(new CsvToListConverter()) .map((list) => list.map((e) => e == "null" ? null : e).toList ()) .toList();
猜你喜欢
  • 2012-04-12
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-08
  • 2020-06-20
  • 1970-01-01
相关资源
最近更新 更多