The answer depends on what tool you are going to use to display/edit the file as separate sheets. For example, you could create a CSV file like:
a,b,c
-
d,e,f
and then you can use a script like this (GNU awk for multi-char RS):
awk -v sheet=<number> -v RS='(^|\n)-\n|\n$' 'NR==sheet' file
to select sheets:
$ awk -v sheet=1 -v RS='(^|\n)-\n|\n$' 'NR==sheet' file
a,b,c
$ awk -v sheet=2 -v RS='(^|\n)-\n|\n$' 'NR==sheet' file
d,e,f
Since there is no one spec for "CSV" you could still say this is "CSV" but in this case I'd name the tool you use to view it as separate sheets something like "foo" and use ".foo" instead of "csv" as the suffix. Like MS does with "Excel" and ".xls".
You can use any sequence of characters you like with as many fields as you liek to indicate the sheet-separator, e.g.:
-,-,-
<control-char>,<control-char>,<control-char>
END OF SHEET
That second one above is a blank line. The point is the separation into sheets only makes sense in the context of whatever tool you use to display/edit those sheets and you are in complete control of what the separator is since you'll be writing the tool that uses it. It just has to be some string that you know cannot appear naturally in the rest of your file.
FILE.csvand having inside this directory different files from different data sources and with different names... You may think of a better extension for the container directory and could even devise a CLI interface to operate on the data in the different sheets, placing the result in a different place. By repeating indexes in different tables you can ... strange dejavù feeling , I'll stop here for now. Ciao from