Three alternatives:
- Write a CLR procedure for the task. There are classes in the Microsoft.VisualBasic namespace to parse CSV files. As it happens, I have an article on my web site where I have demos that uses these classes, although this is a client-side program. You find it at https://www.sommarskog.se/arrays-in-sql-2008.html
- Parse the file in a program outside of SQL Server and pass the data though table-variable (which is exactly what that article describes), or just write a new file which is tab-delimited and import that file with BULK INSERT.
- Install an instance of SQL 2017 (or later) Express edition. In your main server, set up a linked server to the Express instance and remote control the BULK INSERT on the Express instance from the main server. You will need to load the file to table on the Express instance, and then copy table over the linked server.
But you don't parse the file in T-SQL.