Skip to content

everything in one sheet: csv compatibility #2

@jcolomb

Description

@jcolomb

Hi,
I was sent here from the csvy project. I had an idea to expand csv files to have the metadata included in the file, in a way very similar to what metatab is supposed to work (I am not sure I got all of it though), maybe my comment is therefore more valuable here, or you can direct me to yet another project :)

Here the idea:
Dear all,

I think finding a way to pool metadata and data into one file is great and the way to go. I love the idea of csvy. Thing is, if the metadata needs a different program to be written, it will done only by techies.

When I saw the new read_csv function from readr, I got an idea... My proposition would be the following, take everything that is good in YAML, but transform its format to be csv. This would be the example:

---,---
name, my-dataset
description, "this is an example of the new csv format, including metadata on top."
author, "Julien Colomb"

fields, name, title, type,desciption, constraints
fields,var1,variable 1, string, explaining var1, required
fields, var2, variable 2, integer
fields, var3, variable 3, number

---,---
var1,var2,var3
A,1,2.5
B,3,4.3

why I think it could be cool:

scanning for the first 8 character, if the first 3 are "-" at the beginning, the fourth one is the delimiter, the 8th is the line break. This would make csv file readable, whatever the the delimiter is, and makes compatibility issues (with excel) obsolete. In addition if the first 3 character are not "-", there is no metadata and the program can (try to) read the file as a normal csv.

You can read and write the metadata in your normal spreadsheet program.

if templates is made for fields names, it is easy for any user to enter metadata, you just copy and paste-transposed the headers and fill the table.

What do you think?

This issue is licenced CC0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions