Outils pour utilisateurs

Outils du site


public:specs_api_fichier_tableau

API Lecture et écriture fichiers tableaux

Proposer une API simplifiée&unifiée de lecture&écriture d'accès aux fichiers tableaux de type excel, ods, csv et tsv.

Expression de besoins

def tableFile = new File("monfichier.csv")

def table = readTable(tableFile)   // je lis le fichier une fois pour toute
 // ou bien
def table = Table.read(tableFile)   // je lis le fichier une fois pour toute
 // ou bien
def table = new Table(tableFile)   // je lis le fichier une fois pour toute

if ((table.colSize < 1) || (table.rowSize < 1)) {
        println(sprintf("** empty table: %s", tableFile.name()))
        return
}

while (des-trucs-à-faire) {
	table.each {  // pour chaque ligne
		text = process(*[text, *it])  // j'ajoute un argument 'text' au début et j'appelle la methode 'process'
                                       // ('*' éclate les listes et les remplace par la séquence de leurs éléments)
	}
}

Solutions

V1

Utilisation depuis Groovy

	import org.txm.utils.TableReader

	// le constructeur détecte l'extension du fichier
	TableReader reader = new TableReader(new File("monfichier.csv"));
	
	// lecture de la première ligne du tableau
	reader.readHeaders();
	def header = reader.getHeaders() // liste

	// lecture tant qu'il reste des lignes à lire
	while (reader.readRecord()) {
		def record = reader.getRecord() // HashMap<String, String> dont les clés sont les valeurs du header
	}

	// usage terminé
	reader.close()
public/specs_api_fichier_tableau.txt · Dernière modification: 2020/08/26 18:46 par slh@ens-lyon.fr