Odczyt z pliku wartości w kolumnach w Excelu.

0

Witam,
Potrzebuję w swoim programie w języku C odczytać z pliku .csv (excel) wartości znajdujące się w pierwszej i drugiej kolumnie. Wiem, że przy zapisie używa się fprintf(plik, "%lf;%lf", ...), ale podobna konstrukcja dla fscanf'a czyta mi wartości od lewej do prawej czyli całe wiersze. (na dole dorzucam swój kod odczytu z pliku)
Będę wdzięczny za każdą podpowiedź!
Z góry dzięki, HypheN!

void CSV_odczyt(double* tablica_wynikowa_odczyt, double* tab_szumy_odczyt, int rozmiar_do_odczytu)
{
FILE* plik;

int i = 0;

plik = fopen("wartosci.csv", "r");
rewind(plik);

printf("==============================================\nWARTOŚCI WYGENEROWANE I ODCZYTANE Z PLIKU:\n==============================================\n");

for (i = 0; i < rozmiar_do_odczytu; i++)
{
	fscanf(plik, "%lf;", &tablica_wynikowa_odczyt[i]);							//&&
	printf("%lf\n", tablica_wynikowa_odczyt[i]);
}
printf("==============================================\nWARTOŚCI WYGENEROWANE, ZASZUMIONE I ODCZYTANE Z PLIKU:\n==============================================\n");
for (i = 0; i < rozmiar_do_odczytu; i++)
{
	fscanf(plik, ";%lf;", &tab_szumy_odczyt[i]);
	printf("%lf\n", tab_szumy_odczyt[i]);
}


fclose(plik);
}
0

Najprościej: wczytuj linie, a z linii już sobie parsuj kolumny za pomocą sscanfa. Ewentualnie po wczytaniu przestawiaj wskaźnik odczytu pliku na początek następnej linii.

0

Daj pomiędzy pętlami fscanf(plik, ";");
Natomiast w pętli szumów daj fscanf(plik, "%lf;", &tab_szumy_odczyt[i]);
Oraz: https://4programmers.net/Forum/Newbie/245149-wyszukiwanie_i_zliczanie_par_takich_samych_liczb_z_tablicy?p=1101404#id1101404

1 użytkowników online, w tym zalogowanych: 0, gości: 1