(csvContent: string)
| 82 | |
| 83 | // 解析CSV数据 |
| 84 | export function parseCSVData(csvContent: string): ProcessedModelData[] { |
| 85 | const lines = csvContent.split('\n'); |
| 86 | const models: ProcessedModelData[] = []; |
| 87 | |
| 88 | // 跳过前两行(标题行) |
| 89 | for (let i = 2; i < lines.length; i++) { |
| 90 | const line = lines[i].trim(); |
| 91 | if (!line || line.split(',').every(cell => !cell.trim())) { |
| 92 | continue; // 跳过空行 |
| 93 | } |
| 94 | |
| 95 | const columns = parseCSVLine(line); |
| 96 | if (columns.length < 23 || !columns[0] || !columns[1]) { |
| 97 | continue; // 跳过无效行 |
| 98 | } |
| 99 | |
| 100 | const model: ProcessedModelData = { |
| 101 | id: `model_${i}`, |
| 102 | paperName: columns[0] || '', |
| 103 | modelName: columns[1] || '', |
| 104 | type: columns[2] || '', |
| 105 | networkStructure: columns[3] || '', |
| 106 | separationModel: columns[4] || '', |
| 107 | maskMapping: columns[5] || '', |
| 108 | encoderDecoder: columns[6] || '', |
| 109 | learningMethod: columns[7] || '', |
| 110 | publishYear: parseYear(columns[8]), |
| 111 | speakerKnown: columns[9] || '', |
| 112 | performance: { |
| 113 | WSJ0_2Mix: { |
| 114 | SI_SNRi: parsePerformanceValue(columns[10]), |
| 115 | SDRi: parsePerformanceValue(columns[11]) |
| 116 | }, |
| 117 | WHAM: { |
| 118 | SI_SNRi: parsePerformanceValue(columns[12]), |
| 119 | SDRi: parsePerformanceValue(columns[13]) |
| 120 | }, |
| 121 | LibriMix: { |
| 122 | SI_SNRi: parsePerformanceValue(columns[14]), |
| 123 | SDRi: parsePerformanceValue(columns[15]) |
| 124 | }, |
| 125 | WHAMR: { |
| 126 | SI_SNRi: parsePerformanceValue(columns[16]), |
| 127 | SDRi: parsePerformanceValue(columns[17]) |
| 128 | }, |
| 129 | LRS2_2Mix: { |
| 130 | SI_SNRi: parsePerformanceValue(columns[18]), |
| 131 | SDRi: parsePerformanceValue(columns[19]) |
| 132 | }, |
| 133 | SonicSet: { |
| 134 | SI_SNR: parsePerformanceValue(columns[20]), |
| 135 | SDR: parsePerformanceValue(columns[21]) |
| 136 | } |
| 137 | }, |
| 138 | params: parseParams(columns[22]), |
| 139 | codeLink: columns[23] || '', |
| 140 | paperLink: columns[24] || '', |
| 141 | notes: columns[25] || '' |
no test coverage detected