How much detail you need ?
1. I receive my csv file as email attachment from an automatic system report, which is my trigger. At first a save the attachment to my onedrive , because the csv is not readable from email. When you save it to onedrive and reopen it its a normal txt file. In additional I can only use standard connector
In my case I need an extra step, because the csv file is inside a Zip Archive. After the csv is saved to my onedrive , I save the File Id inside a variable

2). I use get file from onedrive with m,y save id to get the csv as txt file. Then I use a filter array, with split csv file by newline to split each csv row into one line. Because a CSV file ends always with /n . And item() is not equal is checking empty lines. So I exclude each empty line.
Please note that the function "split" is limit to your licence . In my basic E3 licence my csv file can't be bigger as 5000 rows. Everything else is not catched by the split funtion.
Split(body(<csv file>), variable('Newline'))
Afterwards I use a select action to format my data for each column, to remove unexpected character.
For each column selection , I use split the row again by my delimiter
split(item(),'<delimiter>')[0] = Column A
split(item(),'<delimiter>')[1] = Column B
split(item(),'<delimiter>')[2] = Column C
After that you can write your data into sharepoint or else. I have only one problem in my systems, when any data column contains a "enter character" or " /n" . then the csv can't be split correctly. I'm still searching an idea for that
