Forum Discussion
Promote headers within Csv.Document
I have multiple CSV files I am trying to combine in a query.
I am trying to do this without a function.
Two issues I am running into:
- Empty cells - these throw the next row out of what. I was able to get around this by specifying the quotestyle
- = Csv.Document(Transform_Preferences_Registry_Parameter,[Delimiter=",", Columns=36, Encoding=1252, QuoteStyle=QuoteStyle.Csv])
- Some of the CSV files do not have a column that is present in the others. When combining, this messes up the resulting table
- The only way I can see to workaround this is to promote the headers.
Is there a way I can promote headers for each CSV file before combining them without using a function, and within the same query?
4 Replies
- IvanRyNew Member
Maybe it will be helpful for other people, just wrap yor Csv.Document() with Table.PromoteHeaders like this:
= Table.AddColumn(#"Removed Other Columns", "Custom", each Table.PromoteHeaders(Csv.Document([Content])))- marvel25Regular Visitor
This is the correct answer.
- mahoneypatMicrosoft Employee
Why trying to avoid using a function? It is the way to do this one. You can create the function within the same query if needed.
Also, you can use Csv.Document to get your column of tables (one for each file), and then use a table function to remove the top row of each before expand/append the tables (but maybe it is too late by then?).
If this works for you, please mark it as the solution. Kudos are appreciated too. Please let me know if not.
Regards,
Pat
- mussaendaCommunity Champion
Hi PowerBeeEye ,
Have you checked this link out?
It helped me to solve my problem but I eventually used the function instead of this.
But this might help you on your situation.
Hope this helps!