やりたいこと
このようなcsvを、List<List<>>型のオブジェクトとして読み込みたい
csvを読み込み、List<List>として取得する
以下は、test.csv というパスに当該のcsvがあることを想定しています。
もちろん、必要に応じてこちらのパスは変更してください。
main.dart
// Import a csv flie
Future<List<List>> csvImport() async {
final String importPath = 'test.csv';
final File importFile = File(importPath);
List<List> importList = [];
Stream fread = importFile.openRead();
// Read lines one by one, and split each ','
await fread.transform(utf8.decoder).transform(LineSplitter()).listen(
(String line) {
importList.add(line.split(','));
},
).asFuture();
return Future<List<List>>.value(importList);
}
void main() async {
final csv = await csvImport();
print(csv);
}
実行結果
% dart run main.dart
[[apple, orange]], [[ape, lion]]
参考