Wir importieren eine .csv-Datei mit ungefähr 80.000 Zeilen. Wir würden es gerne auf einem Webjob machen, weil es sich in Zukunft wiederholen wird. Wir verwenden LinqToCsv, um die .csv einzulesen und die Informationen zu verarbeiten. Wenn es lokal in unserer Konsolen-App läuft, scheint alles in Ordnung zu sein. Aber sobald wir den Azure WebJob bereitstellen, erhalten wir eine Ausnahme von LinqToCsv.Azure-Webjob mit Linq To CSV funktioniert nicht in der Produktion
Beim Lesen von Daten mit dem Typ "xxxx" gab es 1 oder mehr Ausnahmen. Lesedatei "xxx.csv".
Es scheint, es kann einige Zeilen in der Datei nicht korrekt analysieren, aber es funktioniert lokal. Wenn man die .CSV-Datei auf 10 Zeilen kürzt, scheint alles auch in der Produktion zu funktionieren. Ich nehme also an, dass mit dem Setup der LinqToCSV-Klasse nichts falsch ist. Dies sind die Einstellungen btw:
CsvFileDescription inputFileDescription = new CsvFileDescription
{
SeparatorChar = ';',
FirstLineHasColumnNames = true,
IgnoreUnknownColumns = true,
EnforceCsvColumnAttribute = true
};
Könnte jemand erklären dieses seltsame Verhalten und wie man Möglichkeit, es zu lösen, ohne die Prüfung der .CSV Zeile für Zeile?
Haben Sie irgendwo ungültige Zeichen im Dataset? – MikeDub
Kann das nicht wirklich testen, da es lokal perfekt funktioniert. Kann nicht wirklich jede Zeile überprüfen: s ist 80.000 Zeilen lang. –
Sorry ich meinte, entweder eine Suche (Strg + F) in das Arbeitsblatt durch Excel oder schreiben Sie eine schnelle lokale Funktion, die für eine bestimmte Reihe von Zeichen überprüft, die möglicherweise ungültig sind, ich bringe dies nur als einer unserer Produktion Apps hat ein problem mit "characters and csv uploads. Oder hast du es mit einem anderen azur-angebot versucht (zb. web-app)? – MikeDub