Foros del Web » Programación para mayores de 30 ;) » C/C++ »

archivo .csv

Estas en el tema de archivo .csv en el foro de C/C++ en Foros del Web. Como hago para guardar un archivo .csv en un array String bidimensional...
  #1 (permalink)  
Antiguo 15/05/2015, 17:10
 
Fecha de Ingreso: noviembre-2014
Mensajes: 4
Antigüedad: 9 años, 5 meses
Puntos: 0
archivo .csv

Como hago para guardar un archivo .csv en un array String bidimensional
  #2 (permalink)  
Antiguo 16/05/2015, 10:45
 
Fecha de Ingreso: septiembre-2010
Mensajes: 494
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: archivo .csv

Con tan pocos datos....

¿Qué llevas hecho? / ¿Dónde está la duda?
¿Cual es la estructura del .csv?
¿Se sabe el tamaño o es variable?

En plan génerico:
1.-Abrir fichero
2.-Leer registros usando el delimitador
3.-Copiar los registros al array
4.-Cerrar fichero.

Di algo más para que te puedan responder
__________________
Mi calculadora en Qt
  #3 (permalink)  
Antiguo 18/05/2015, 15:04
 
Fecha de Ingreso: noviembre-2014
Mensajes: 4
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta Respuesta: archivo .csv

Osea en una pagina vi que lo hacian con vectores EJEMPLO:
Código:
  StreamReader^ Lector = gcnew StreamReader(Path);
			//Leer los encabezados del csv
			String^ Linea = Lector->ReadLine();
			
			array<String^> ^Headers = Linea->Split(';');
			for (int i = 0; i < Headers->Length; i++)
			{
				
				dataGridView1->Columns->Add(gcnew DataGridViewTextBoxColumn());
			}
			do
			{
				array<String^> ^Contacto = Lector->ReadLine()->Split(';');
				dataGridView1->Rows->Add(1);
				int fila = dataGridView1->RowCount -1;

				for (int i = 0; i < Contacto->Length; i++)
				{
					try{
						dataGridView1->Rows[fila]->Cells[i]->Value = Contacto[i];
						
					}
					catch(...){
					}
				}
} while (Lector->Peek()!=-1);
			Lector->Close();
			for (int i = 0; i < Headers->Length; i++)
			{
				dataGridView1->Columns[i]->HeaderText = Headers[i];
				
			}
pero yo lo quiero como matriz

Última edición por eduardolassol; 18/05/2015 a las 15:15
  #4 (permalink)  
Antiguo 19/05/2015, 01:46
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 meses
Puntos: 38
Respuesta: archivo .csv

nos interesa saber más bien como es cada linea de ese archivo... Sin eso no te podemos ayudar.
Con que nos pegue aquí un par de lineas de ese fichero o el fichero completo mejor.

Es que ha venido una oleada de csvs que no vea XD
  #5 (permalink)  
Antiguo 19/05/2015, 01:47
Avatar de xKuZz  
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 9 años, 2 meses
Puntos: 27
Respuesta: archivo .csv

Pues empieza a trabajarlo ya sea con las funciones de .NET como en el ejemplo, con las flujos de entrada y salida de c++ o con las funciones de archivos de C tal y como te dijo antes dehm.

1. Abre el archivo. Puedes añadir algo para comprobar si te está bien.
2. Lee el archivo. Ve cogiendo caracteres y recuerda que al encontrarse un ; estás en la siguiente columna y al encontrarse un '\n' estás en la siguiente fila.
3. Cada vez cojas uno no te olvides de guardarlo en tu array bidimensional. Teniendo en cuenta que su tamaño es variable optaría por almacenarlo en memoria dinámica. Si esto último no fuera posible asegúrate de que tu array estático va a tener unas dimensiones apropiadas para poder leer el archivo.
4. A cerrar el archivo.

Ese es trabajo que tienes que hacer tú, si te surge alguna duda concreta pregúntala.
Un saludo.

Etiquetas: csv
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:24.