Coder Social home page Coder Social logo

csvp5's Introduction

csvP5

General Information
Processing Library for reading CSV(Character Separated Values) files.

Current Version:
0.1.2 (stable and versioned using semantic versioning)

Issues and Bugs
You can find a list of all known bugs at GitHub. Please report if you find an unknown bug.

Changelog

A detailed changelog, intended for programmers.

0.1.2
First alpha version

0.1.1
Version for the Global Visualizing Marathon

0.1.0
Starting main class at wrongPowder Repository

License

csvP5 is released under the MIT License: http://www.opensource.org/licenses/MIT

Bitdeli Badge

csvp5's People

Contributors

timpulver avatar bitdeli-chef avatar

Stargazers

 avatar Fabian Morón Zirfas avatar Paul Vollmer avatar

Watchers

Paul Vollmer avatar James Cloos avatar  avatar

csvp5's Issues

Processing hidden feature found -- Table.java

found a class that read write csv/tsv files at the new Processing 2.0 version.
http://code.google.com/p/processing/source/browse/trunk/processing/core/src/processing/data/Table.java

here is a small example

Table table;

table = new Table(this, "sample.csv");

println(table.getRowCount());
println(table.getColumnCount());

println("getMaxFloat = " + table.getMaxFloat());

for(int i=0; i<table.getRowCount(); i++) {
  for(int j=0; j<table.getColumnCount(); j++) {
    print(table.getInt(i, j)+"  ");
  }
  println();
}

the table class include all basic functions like getRowCount(), getInt(row, col) etc.

the main question is, what we do with the csvP5 library...

getter / setter naming

All getters like this: getTotalRows() / getTotalColumns() / getTotalFileRows()
all getters/setters start with get/set

csv table models

ich habe jetzt die verschiedenen tabellen modelle auf der startseite. es sollen schon reale beispiele rein, das man die features gut erkennen kann und wir schöne beispiele bauem´n können.

runterscrollen dann kommen die beispiele.... http://wrongentertainment.github.com/csvP5/

also ich denke wir brauchen nur ein paar methoden
getTotalRow(int numOfRow), getTotalRow(int numOfRow, in, out und cols...
die daten holen wir aus dem aktuellen array. ich denke es wird schwieriger das array umzubauen, so dass wir in den cols/rows den datentyp festlegen. also string, float, int gemischt pro zeile.beim initialisieren müssen wir nur festlegen wie der datensatz vorliegt.
dafür brauchen wir aber einen dataManager der das dataModel erstellen, speichern und bearbeiten kann.

ich denke wenn wir die lib auf den schwerpunkt table calculation legen brauchen wir viele datenmodelle array[][] oder arrayCols[], arrayRows[] ...) um die verschiedene tabellen typen sinvoll abzulegen.

new Constructor syntax

csv = new CsvP5(this, "sample.csv");

all other variables like Separator, Comment etc. moved to own function

start at / end at

syntax ideas

csv.startAtColumn(5);
csv.stopAtRow(55);
csv.stopAtColumn(55);
// "data" row/column auf file row/column mappen -> wichtig zum debuggen --------
int mapRowToFileRow(int row);
int fileColumn(int column);

write csv

ich finde eine lib die csv heißt sollte auch schreiben können.

alpha test, github pages & zip download

hello, ich habe schonmal eine github page erstellt und den distribution kram reingestellt. also hat die lib jetzt eine typische Processing Library website.
meine frage ist, ob wir die download zip file in der repo liegen haben wollen oder ob wir die unter download archivieren.
wenn wir die gh-pages oft updaten könnte durch die zip schnell die größe der repo steigen.
wir sollten uns auf einen weg einigen.

@rielc Hast du bock mit an der lib zu bauen. es gibt momentan noch syntax wording aufgaben, wo tim und ich uns schon über ein paar benennungen gedanken gemacht haben. vieleicht kannst du es dir ja auch mal anschauen. hier der link zur reference: http://wrongentertainment.github.com/csvP5/reference/index.html

Add advanced parser

To allow the use of the separator within an entry, we need an advanced parser.

"text","text","text with a, we need to ignore","text

^

Currently the quotation marks are being erased and the string is just searched for every occurance of SEPARATOR.

math utils

nach dem marathon frage ich mich ob die library nicht ein paar mathe erweiterungen gebrauchen könnte.
int totalRowSum = csv.totalSum(5); // die summe aller spalten aus zeile 5
oder
int totalRowSum = csv.row(5).totalSum();
mit der sntax könnte man das gleiche auch für spalten machen.
int totalRowSum = csv.col(5).totalSum();

wie die syntax dafür aussehen soll ist nochmal eine andere fragen

Guess algorithm

I think it will be useful, to let CsvP5 guess which orientation the table has (horizontal / vertical) and which data types it stores.
Auto guessing should be default.
If auto-guessing fails or user calls setRowFormats() / setColumnFormats() before load(), it will not be used.

syntax questions

getRowCount, totalRows etc.
what kind of syntax we want to implement?
testing different syntax styles at examples.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.