Regex for Bulk admin import

I am using neo4j-admin bulk import tool for importing data through multple csv files.

The path of a csv file looks like :

'./peds/CSV_FILES/2020/application_biblio/application_biblio-1.csv'

Now I want to use regex to include files with a single path, in the above example there are two things that I want to use regex for.

  • year - like 1900 , 2000, 2020(like in this case)
  • file number (application_biblio-(some_number).csv)

I have tried these two :

  • './peds/CSV_FILES/\b\d{4}\b/application_biblio/application_biblio-\d{4}.csv'
  • './peds/CSV_FILES/\[0-9]+/application_biblio/application_biblio-\d{4}.csv'

But none of them works.

Also I want to mention that if I specify the year manually and use regex for file number, then it works.
i.e --> "./peds/CSV_FILES/2020/application_biblio/application_biblio-.*" works

So the question is can any one suggest a regex to include the csv files.

This the gist of the file structure

.
├── 2020
│   ├── application_biblio
│   │   ├── application_biblio-10.csv
│   │   ├── application_biblio-11.csv
│   │   ├── application_biblio-12.csv
│   │   ├── application_biblio-13.csv
│   │   ├── application_biblio-14.csv
│   │   ├── application_biblio-15.csv
│   │   ├── application_biblio-16.csv
│   │   ├── application_biblio-17.csv
│   │   ├── application_biblio-18.csv
│   │   ├── application_biblio-19.csv
│   │   ├── application_biblio-1.csv
│   │   ├── application_biblio-20.csv
│   │   ├── application_biblio-21.csv
│   │   ├── application_biblio-22.csv
│   │   ├── application_biblio-23.csv
│   │   ├── application_biblio-24.csv
│   │   ├── application_biblio-25.csv
│   │   ├── application_biblio-26.csv
│   │   ├── application_biblio-27.csv
│   │   ├── application_biblio-28.csv
│   │   ├── application_biblio-29.csv
│   │   ├── application_biblio-2.csv
│   │   ├── application_biblio-30.csv
│   │   ├── application_biblio-31.csv
│   │   ├── application_biblio-32.csv
│   │   ├── application_biblio-33.csv
│   │   ├── application_biblio-34.csv
│   │   ├── application_biblio-35.csv
│   │   ├── application_biblio-36.csv
│   │   ├── application_biblio-37.csv
│   │   ├── application_biblio-38.csv
│   │   ├── application_biblio-39.csv
│   │   ├── application_biblio-3.csv
│   │   ├── application_biblio-40.csv
│   │   ├── application_biblio-41.csv
│   │   ├── application_biblio-42.csv
│   │   ├── application_biblio-43.csv
│   │   ├── application_biblio-44.csv
│   │   ├── application_biblio-45.csv
│   │   ├── application_biblio-46.csv
│   │   ├── application_biblio-47.csv
│   │   ├── application_biblio-48.csv
│   │   ├── application_biblio-49.csv
│   │   ├── application_biblio-4.csv
│   │   ├── application_biblio-50.csv
│   │   ├── application_biblio-51.csv
│   │   ├── application_biblio-52.csv
│   │   ├── application_biblio-53.csv
│   │   ├── application_biblio-54.csv
│   │   ├── application_biblio-55.csv
│   │   ├── application_biblio-56.csv
│   │   ├── application_biblio-5.csv
│   │   ├── application_biblio-6.csv
│   │   ├── application_biblio-7.csv
│   │   ├── application_biblio-8.csv
│   │   └── application_biblio-9.csv
├── 2021
│   ├── application_biblio
│   │   ├── application_biblio-10.csv
│   │   ├── application_biblio-11.csv
│   │   ├── application_biblio-12.csv
│   │   ├── application_biblio-13.csv
│   │   ├── application_biblio-14.csv
│   │   ├── application_biblio-15.csv
│   │   ├── application_biblio-16.csv
│   │   ├── application_biblio-17.csv
│   │   ├── application_biblio-18.csv
│   │   ├── application_biblio-19.csv
│   │   ├── application_biblio-1.csv
│   │   ├── application_biblio-20.csv
│   │   ├── application_biblio-21.csv
│   │   ├── application_biblio-22.csv
│   │   ├── application_biblio-23.csv
│   │   ├── application_biblio-24.csv
│   │   ├── application_biblio-25.csv
│   │   ├── application_biblio-26.csv
│   │   ├── application_biblio-27.csv
│   │   ├── application_biblio-28.csv
│   │   ├── application_biblio-29.csv
│   │   ├── application_biblio-2.csv
│   │   ├── application_biblio-30.csv
│   │   ├── application_biblio-31.csv
│   │   ├── application_biblio-32.csv
│   │   ├── application_biblio-33.csv
│   │   ├── application_biblio-34.csv
│   │   ├── application_biblio-35.csv
│   │   ├── application_biblio-36.csv
│   │   ├── application_biblio-37.csv
│   │   ├── application_biblio-38.csv
│   │   ├── application_biblio-39.csv
│   │   ├── application_biblio-3.csv
│   │   ├── application_biblio-40.csv
│   │   ├── application_biblio-41.csv
│   │   ├── application_biblio-42.csv
│   │   ├── application_biblio-43.csv
│   │   ├── application_biblio-44.csv
│   │   ├── application_biblio-45.csv
│   │   ├── application_biblio-46.csv
│   │   ├── application_biblio-47.csv
│   │   ├── application_biblio-48.csv
│   │   ├── application_biblio-49.csv
│   │   ├── application_biblio-4.csv
│   │   ├── application_biblio-50.csv
│   │   ├── application_biblio-5.csv
│   │   ├── application_biblio-6.csv
│   │   ├── application_biblio-7.csv
│   │   ├── application_biblio-8.csv
│   │   └── application_biblio-9.csv

Hello @aman.negi,

Hopefully I can help you out!

It looks like you are super close to what you want - specifically in regards to: ./peds/CSV_FILES/2020/application_biblio/application_biblio-.*.

I think I can provide you with a few options to experiment with that should work. It appears you have everything right except having some regex to pick up 2020 and 2021 without explicitly declaring it. That being said, a solution to that issue can be using the following syntax /{2020,2021}/ which is specific to glob patterns (also known as a shell-style pattern) and is used to match either 2020 or 2021 (which seems to be what you are looking for).

So what you are looking for looks like: './peds/CSV_FILES/{2020,2021}/application_biblio/application_biblio-*.csv'

This should work just fine and I hope this helps and works for you! Happy to help more if it does not!

Cheers,
Rob

Hey @Rcolinp ,
Thanks for the reply.

I wanted to confirm that is this the only way that we can achieve this as I have these many years :
Screenshot from 2023-04-11 08-22-41

So, do I have to enclose all of them in a { } to achieve my goal ? , or is there any other way that we can achieve this

Regards,
Aman