我有以下格式的文件中的数据。
HEADER|ReportItem Name: Margin Ri.....
Account Id/Margin Id|Account Name|Ba...... // the row with headers
Data row 1
Data row 2
TRAILER|Record Count: 2
Run Code Online (Sandbox Code Playgroud)
这是引发错误 - 我相信因为事实上在实际读者行之前有一行。
using (var textReader = File.OpenText(path))
{
var csv = new CsvReader(textReader);
csv.Configuration.RegisterClassMap<GsClassMap>();
csv.Configuration.TrimOptions = TrimOptions.Trim;
csv.Configuration.MissingFieldFound = null;
csv.Configuration.Delimiter = "|";
csv.Configuration.HasHeaderRecord = true;
csv.Configuration.ShouldSkipRecord = (x) => x[0].StartsWith("HEADER");
csv.Configuration.ShouldSkipRecord = (x) => x[0].StartsWith("TRAILER");
return csv.GetRecords<GsSma>().ToList();
}
Run Code Online (Sandbox Code Playgroud)
这是引发错误 - 我相信因为事实上在实际读者行之前有一行。
Header matching ['Account Id/Margin Id'] names at index 0 was not found.
Run Code Online (Sandbox Code Playgroud)
如何设置它以正确读取文件?
我有这个
public getRouteData(): BehaviorSubject<string[]> {
return this.routeData;
}
Run Code Online (Sandbox Code Playgroud)
我想把它映射到一个Observable,{name: r}
它r
是一个项目在哪里string[]
public gridData: BehaviorSubject<any[]> = new BehaviorSubject([]);
Run Code Online (Sandbox Code Playgroud)
我想把string[]
和map映射到对象数组,{name: r}
其中r
是数组项,这样我就可以将对象数组绑定到网格中.
不知怎的,不能正确排序或语法.
试过getRouteData().map(r => ({name: r})).subscribe(r => this.gridData.next(r));
但这不正确,因为我最终得到了{name:string[]}
而不是[{name:string}]
有人可以帮忙吗?
谢谢!
我有 2 个数组:
[
{
"id": 1,
"name": "All",
},
{
"id": 2,
"name": "APR",
},
{
"id": 3,
"name": "TER",
}]
Run Code Online (Sandbox Code Playgroud)
第二个数组是["APR", "TER"]
我想用第二个数组过滤第一个数组,输出应该是
[{
"id": 2,
"name": "APR",
},{
"id": 3,
"name": "TER",
}]
Run Code Online (Sandbox Code Playgroud)
尝试使用过滤功能 - 这可能吗?
谢谢阿南德
是否有可以将数组转换['A', 'B', 'C']
为对象数组的函数[{name: 'A'}, {name: 'B'}, {name: 'C'}]
?
或者我需要编写一个util函数?如果一个众所周知的功能已经存在,写一个并不奇怪.
谢谢