Vous pouvez être capable de le tromper et d'utiliser une expression régulière pour rechercher :
"(.*?)"(?=,|$)
Mais c'est un peu hack-ish (en gros, n'acceptez qu'un guillemet de fin lorsqu'il est immédiatement suivi d'une virgule ou d'une fin de ligne). La même logique s'appliquerait à une recherche-remplacement. (Encore une fois, tout cela suppose qu'une citation "errante" ne suivra jamais les règles CSV standard (par exemple, avoir une virgule/ligne [début/fin] avant ou après))
Je suppose que vous n'avez aucun contrôle sur les données d'origine et que vous devez travailler avec ce que vous avez ?
MODIFIER
Bien que je n'ai essayé cela que sur un petit échantillon de vos données, cela semble trouver les guillemets "errants", auxquels vous pouvez utiliser un remplacement par ""
le :
(?<!^|"|,)"(?!"|,|$)