Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Load multiple CSV files into a table

I have attempted to adapt code from other Qlik community threads but still to no avail. All i want is to put together all the csv files in a folder into one table.

Neither of these scripts work

1) Provides no error message

vPath = 'C:\Dropbox\Trading\Data\'

For each File in FileList('$(vPath)*.csv')

TableName:

Load

Date(Date#([@1], 'DD/MM/YYYY') ) AS [Date],

[@2] AS [Open],

[@3] AS [High],

[@4] AS [Low],

[@5] AS [Close],

[@6] As [Volume],

[@7] As [Open Interest],

    LEFT(FileBaseName (), 6) as Code_CSV

From $(File);

NEXT

2) Does not recognise C:

For each vFileName in Filelist ('lib://C:\Dropbox\Trading\Data\*.csv')

      Load *,

Date(Date#([@1], 'DD/MM/YYYY') ) AS [Date],

[@2] AS [Open],

[@3] AS [High],

[@4] AS [Low],

[@5] AS [Close],

[@6] As [Volume],

[@7] As [Open Interest],

    LEFT(FileBaseName (), 6) as Code_CSV

      From [$(vFileName)]

      (txt, utf8, embedded labels, delimiter is ',', msq);

Next vFileName

21 Replies
mdmukramali
Specialist III
Specialist III

Hi,

Can you try the below script:

Set vConcatenate = ;

FileList:

LOAD

'' AS SourceFile

AUTOGENERATE 0;

sub ScanFolder(Root)

for each FileExtension in 'Qvd'

for each FoundFile in filelist( Root & '\*.' & FileExtension)

  Table:

LOAD District,

    [Category Name],

    [Sub Category],

    [Item Name],

    [Sales Amt TW],

    [Sales Amt LW],

    FileBaseName() as FileName

FROM

$(FoundFile)(qvd);                       

Set vConcatenate = Concatenate;

next FoundFile

next FileExtension

for each SubDirectory in dirlist( Root & '\*' )

call ScanFolder(SubDirectory)

next SubDirectory

end sub

Call ScanFolder('C:\Users\Qlik\Documents\QVD\') ;

change the file extension from qvd to csv and path of the data.

else share the sample excel file.

Anonymous
Not applicable
Author

Did not load anything as the CSV is red in the script at $(FoundFile)(CSV)

sunny_talwar

mdmukramali
Specialist III
Specialist III

Hi,

you have to adjust the script.

From

$(FoundFile)

(ooxml, embedded labels, header is 1 lines, table is Yearly)

for Qvd no need of (ooxml, embedded labels, header is 1 lines, table is Yearly).


for CSV you have to add the following.


else share at least one CSV file.

Thanks,

Mukram.

pradosh_thakur
Master II
Master II

may be this. The chnaged part is in red

vPath = 'C:\Dropbox\Trading\Data\'

For each File in FileList('$(vPath)'&'*.csv')

TableName:

Load

Date(Date#([@1], 'DD/MM/YYYY') ) AS [Date],

[@2] AS [Open],

[@3] AS [High],

[@4] AS [Low],

[@5] AS [Close],

[@6] As [Volume],

[@7] As [Open Interest],

    LEFT(FileBaseName (), 6) as Code_CSV

From '$(File)'  (txt, utf8, embedded labels, delimiter is ',', msq);

NEXT

regards

Pradosh

Learning never stops.
Anonymous
Not applicable
Author

Still does not read the file.

Anonymous
Not applicable
Author

Do you mean like this? If so it did not work.

FROM

$(FoundFile)(CSV)(ooxml, embedded labels, header is 1 lines, table is Yearly);

I have example files to the initial post.

Anonymous
Not applicable
Author

Example files

Anonymous
Not applicable
Author

Using that I still get an error in connection not found to C, ie. call DoDir ('lib://C:\Dropbox\Trading\Data')