Cria método que lê uma linha vinda do CSV e preenche a música
This commit is contained in:
parent
2da851008a
commit
d99138741f
|
|
@ -1,5 +1,9 @@
|
||||||
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
#define MAX_LINE_SIZE 860
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char id[30];
|
char id[30];
|
||||||
char name[200];
|
char name[200];
|
||||||
|
|
@ -99,5 +103,65 @@ double handle_percentage(double value) {
|
||||||
return ceil(value) == value ? value / 100 : value;
|
return ceil(value) == value ? value / 100 : value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void read_music(Musica *music, char line[]) {
|
||||||
|
char field[MAX_LINE_SIZE];
|
||||||
|
remove_line_break(line);
|
||||||
|
|
||||||
|
line = read_csv_field(line, field);
|
||||||
|
music->valence = handle_percentage(atof(field));
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->year = atoi(field);
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->acousticness = handle_percentage(atof(field));
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
read_artists(music, field);
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->danceability = handle_percentage(atof(field));
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->duration_ms = atoi(field);
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->energy = handle_percentage(atof(field));
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field); // Skip 'explicit' column
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
strcpy(music->id, field);
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->instrumentalness = handle_percentage(atof(field));
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
strcpy(music->key, field);
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->liveness = handle_percentage(atof(field));
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->loudness = atof(field);
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field); // Skip 'mode' column
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
strcpy(music->name, field);
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->popularity = atoi(field);
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
read_release_date(music, field);
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->speechiness = handle_percentage(atof(field));
|
||||||
|
|
||||||
|
line = read_csv_field(line + 1, field);
|
||||||
|
music->tempo = atof(field);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue