Autor
|
Tema: Leer archivo CSV (Leído 1,595 veces)
|
huchoko
|
Hola, tengo este problema... Tengo un archivo CSV, el cúal tiene esto: Auto,4343,5832 Auto2,5343,8720 y necesito mostrar cada uno de esos valores que están separados por comas. (se podría guardar en un vector) Todo lo que he encontrado no me ha funcionado. Saludos edit: en realidad lo necesitaba para C++, pero olvide especificarlo :facepalm:, asi que es mi culpa, tendré que poortear mi código de C++ a C, para que me funcione. no me odien por mi estupidez...
|
|
« Última modificación: 3 Noviembre 2018, 04:56 am por konniskatt »
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
El codigo lo estare publicando en Leer archivo CSV en C - Programación Trabajos EscolaresSi tienes mas peticiones de programas no dudes en pedirlos en la pagina anterior o en la pagina de FB del mismo Nombre https://www.facebook.com/ProgramacionTrabajosEscolares/#include<stdio.h> #include<stdlib.h> #include<string.h> char temporal[100]; char ***valores = NULL; //Valores va a contener todos los valores leidos int *campos_por_linea = NULL; char *pivote = NULL; int lineas = 0; int campos = 0; int longitud = 0; int i,j; int main() { FILE *archivo = NULL; archivo = fopen("autos.csv","r"); if(archivo != NULL) { do { fgets(temporal ,100,archivo ); lineas++; valores = realloc(valores ,lineas *sizeof(char*)); campos_por_linea = realloc(campos_por_linea ,lineas *sizeof(int)); valores[lineas-1] = NULL; pivote = strtok(temporal ,","); campos = 0; while (pivote != NULL) { campos++; valores [lineas -1] = realloc(valores [lineas -1],sizeof(char*)*campos ); valores [lineas -1][campos -1] = calloc(longitud +1,sizeof(char)); strncpy(valores [lineas -1][campos -1],pivote ,longitud ); } campos_por_linea[lineas-1] = campos; }while(feof(archivo ) == 0); printf("Mostrando valores leidos\n"); i = 0; while(i < lineas) { j = 0; while(j < campos_por_linea[i]) { // Aqui es donde se procesarian los campos para transformarlos a valores enteres flotantes etc.... printf("Campo %i: %s\n",j +1,valores [i ][j ]); //Actualmente todos los campos son char* j++; } i++; } } else { printf("Error leyendo el archivo\n"); } }
Archivo: Auto,4343,5832 Auto2,5343,8720 Auto3,53423,81220 Salida Mostrando valores leidos Linea 1 Campo 1: Auto Campo 2: 4343 Campo 3: 5832
Linea 2 Campo 1: Auto2 Campo 2: 5343 Campo 3: 8720
Linea 3 Campo 1: Auto3 Campo 2: 53423 Campo 3: 81220
|
|
« Última modificación: 3 Noviembre 2018, 04:28 am por AlbertoBSD »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
leer un archivo txt
« 1 2 3 »
Programación Visual Basic
|
RED_HORSE
|
22
|
8,849
|
14 Abril 2006, 22:06 pm
por RED_HORSE
|
|
|
Leer archivo .civ
« 1 2 »
Programación Visual Basic
|
Tyrz
|
13
|
5,430
|
9 Septiembre 2007, 12:54 pm
por Tyrz
|
|
|
leer archivo con api's
« 1 2 »
Programación Visual Basic
|
krackwar
|
12
|
4,889
|
14 Julio 2008, 17:00 pm
por krackwar
|
|
|
Leer archivo xml....
.NET (C#, VB.NET, ASP)
|
Zeroql
|
7
|
6,610
|
3 Julio 2010, 00:16 am
por Zeroql
|
|
|
Abrir archivo, leer datos y modificarlos en otro archivo.
Java
|
Tonyskater
|
6
|
6,669
|
24 Mayo 2017, 20:25 pm
por Tonyskater
|
|