¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como adicionar nomes de colunas e dados a um CSV a partir do MySQL: Exemplo detalhado

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 19 Vistas
0
Cargando...

Olá a todos,

Dar um pequeno exemplo sobre ...

Como posso adicionar nomes de colunas e dados a um CSV a partir do MySQL?

como

exemplo

sequence_no, time_date, col_name, col_name

123, 27-abr-2004, dados, dados

234, 27-abr-2004, dados, dados

Por favor, dê um pequeno exemplo sobre isso.

Obrigado e cumprimentos

Rama Krishna

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Rama Krishna,

Verifique este código:

O exemplo abaixo exporta dados de uma consulta Select do MySQL para um arquivo CSV.

Estrutura da tabela de teste

CREATE TABLE testtable

(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,

texto varchar(45) NOT NULL,

preço inteiro não nulo);

A aplicação recebe o caminho do arquivo de saída como argumento.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class automateExport {
    public static void main(String[] args) {
        DBase db = new DBase();
        Connection conn = db.connect(
                "jdbc:mysql://localhost:3306/test","root","caspian");
        
        if (args.length != 1) {
            System.out.println(
                    "Uso: java automateExport [ruta del archivo de salida] ");
            return;
        }
        db.exportData(conn,args[0]);
    }
    
}

class DBase {
    public DBase() {
    }
    
    public Connection connect(String db_connect_str, 
            String db_userid, String db_password) {
        Connection conn;
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            conn = DriverManager.getConnection(db_connect_str,
                    db_userid, db_password);
            
        } catch(Exception e) {
            e.printStackTrace();
            conn = null;
        }
        return conn;
    }
    
    public void exportData(Connection conn,String filename) {
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Rama Krishna,

Não tenho certeza de como conseguir isso, mas encontrei algo que pode te ajudar:

http://dev.mysql.com/doc/refman/5.0/en/select.html

-


Copiar-Colar-Do-Link-Acima----


Ao usar a sintaxe SELECT ... INTO OUTFILE, utilize um UNION para adicionar cabeçalhos. Aqui está um exemplo para a saída CSV:

SELECT 'Ano Fiscal','Localização','Vendas'

UNION

SELECT AnoFiscal, Localização, Vendas INTO OUTFILE 'relatorio-vendas.csv'

CAMPOS TERMINADOS POR ',' OPCIONALMENTE ENCERRADOS POR '"'

DE TabelaVendas;

Isso adicionará os cabeçalhos de texto Ano Fiscal, Localização e Vendas aos seus campos. A única ressalva é com uma declaração ORDER BY, se você não quiser que seus cabeçalhos sejam ordenados juntamente com seus dados, você deve colocá-la entre parênteses:

SELECT 'Ano Fiscal','Localização','Vendas'

UNION

{SELECT AnoFiscal, Localização, Vendas INTO OUTFILE 'relatorio-vendas.csv'

CAMPOS TERMINADOS POR ',' OPCIONALMENTE ENCERRADOS POR '"'

DE TabelaVendas

ORDER BY Vendas DESC);

-


Copiar-Colar-Do-Link-Acima----


Certifique-se de que o formato das colunas que correspondem aos seus cabeçalhos não limite a visualização dos cabeçalhos. Por exemplo, eu estava usando o conselho de UNION para adicionar um cabeçalho a uma coluna definida como char(2) (para armazenar um código de estado de duas letras). O arquivo CSV resultante mostrava apenas as duas primeiras letras do meu cabeçalho de coluna. A solução é simples, basta usar CAST() na coluna no segundo SELECT para convertê-la para o tipo apropriado. No meu caso, fazer algo assim:

SELECT 'cabeçalho de estado' DE tabela UNION SELECT CAST(estado AS char) DE tabela INTO OUTFILE [...]

funcionou perfeitamente. Espero que isso economize um pouco de tempo para alguém.

-


Copiar-Colar-Do-Link-Acima----


Saudações,

Praveen Gudapati

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá a todos,

Meu problema é converter um arquivo CSV com nomes de colunas e dados.

Aqui posso colocar apenas dados ou apenas nomes de colunas.

Como posso colocar nomes de colunas e dados em um arquivo CSV com MySQL?

Estou colocando os nomes das colunas (com RSMetadata & DBMD) e tentando colocar os dados depois de ter colocado os nomes das colunas com a seguinte consulta.

String query = "SELECT * FROM " nome_tabela " into OUTFILE '"

+ nome_arquivo

+ "' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n'";

está dando a exceção de "o arquivo já existe"

Como posso colocar dados com nomes de colunas?

Obrigado & Saudações

Rama Krishna

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Crie um programa em Java que abra uma conexão JDBC através de uma fonte de dados. Leia as informações de metadados do conjunto de resultados e os registros de dados iterando através do resultado.

Saudações,

Kiran

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?