Problema com mineração de dados, espaços em branco em arquivo .csv

inserir a descrição da imagem aquiBom dia, estou fazendo um trabalho de mineração de dados em arquivos públicos. O arquivo que estou trabalhando é um .csv de um pouco mais de 11 milhões de linhas e aproximadamente 119 colunas. Meu problema é o seguinte, assim como mostrado na imagem o arquivo trata de estatística de vários grupos de pessoas, as colunas mostradas na imagem se referem ao registro de deficiência que aquela pessoa possa ter: seja auditiva, visual, mental e outras. Quando a pessoa não tem a deficiência dever ter o valor ‘0’ e quando tem deve ter o valor ‘1’. A maior parte do arquivo está com esses registros em branco. Encontrei um certo padrão nessas colunas: sempre que aparece um registro (como mostrado nas imagens), existe pelo menos um número ‘1’ indicando deficiência naquela pessoa, o restante foi preenchido com ‘0’. Seria então possível concluir que quem fez o arquivo deixou os espaços em branco para não preencher com zeros e economizar no tamanho do arquivo? Estou na faze de tratamento dos dados e preciso saber se posso simplesmente preencher com zeros esses espaços. Existe algum padrão em arquivos .csv ou em mineração de dados que possa servir de explicação para tantos espaços vazios?

Union based encoding of .csv file into a data table with different types

I am writing a program that has a row based data table class. It also has an encoder class that is intended to take in some .csv data and convert it into a 2darray of encoded data of unknown type at compile time.

The idea is that the user will point to a .csv file they would like to read from and specify a runtime schema (column 1 == int, column 2 == bool, column 3 == string, etc)that will be used to encode the raw .csv data into the proper types needed for comparison and such elsewhere in the program.

I have been reading a lot about this and decided to try a union based approach. I mocked this up in a simple project to see how this might work out on one single piece of data (“DataPoint.”). Here is the code.

 #include "pch.h" #include <iostream> #include <sstream>   union DataPoint {     bool Bool;     int  Integer;     float FloatingPoint;     //std::string String; };  enum DataTypes {     Bool,     Integer,     FloatingPoint,     //String };   DataPoint EncodeData(DataPoint InDataPoint, DataTypes InDataTypes, std::string InData) {     std::stringstream DataStream(InData);      switch (InDataTypes)     {     case Bool:          std::cout << "Type is Bool" << std::endl;         if (InData == "True" || InData == "true"  || InData == "1") InDataPoint.Bool = true;         else if (InData == "False" || InData == "false" || InData == "0") InDataPoint.Bool = false;         else std::cout << "This data is not compatable with the bool type." << std::endl;         break;     case Integer:          std::cout << "Type is Integer" << std::endl;         DataStream >> InDataPoint.Integer;         break;     case FloatingPoint:          std::cout << "Type is Floating Point" << std::endl;         DataStream >> InDataPoint.FloatingPoint;         break;     /*     case String: InDataPoint.String = InData;         break;     */     default:         break;     }      return InDataPoint; }  void PrintData(DataPoint InDataPoint, DataTypes InDataTypes) {     switch (InDataTypes)     {     case Bool: std::cout << "Encoded data value : " << InDataPoint.Bool << std::endl;         break;     case Integer: std::cout << "Encoded data value : " << InDataPoint.Integer << std::endl;         break;     case FloatingPoint: std::cout << "Encoded data value : " << InDataPoint.FloatingPoint<< std::endl;         break;     /*     case String:         break;     */     default:         break;     } }  int main() {     DataPoint DataPoint1{};     DataTypes DataType{ Bool };     std::string Data{ "true" };      std::cout << "Raw data value : " << Data << std::endl;      PrintData(EncodeData(DataPoint1, DataType, Data), DataType);      return 0; }  

This all seems to work, however, as you can see… I have commented out string entries because I cannot figure out a good way to handle them. One issue I run into is though unions apparently support strings in c++ now, I error out when I try to add a string as a union member. Here is the error I get if I uncomment the string member of the union.

Severity Code Description Project File Line Suppression State Error (active) E1776 function “DataPoint::DataPoint(const DataPoint &)” (declared implicitly) cannot be referenced — it is a deleted function

Is there some way to handle the string? Also, in general, does this approach seem sound?

Leitura de dados sobre arquivo .csv

Possuo um sistema em PHP realizando a leitura de dados de um arquivo csv. Ele apresenta o número do código de barras onde irei relacionar ao banco de dados para atualização de acordo com o arquivo enviado no sistema. Exemplo:

Usuário envia arquivo CSV com dados: ‘Barras’ => 7896603803918, ‘qtd’ => ‘1’

Ao fazer a leitura do arquivo recebo o valor de barras: “7,8966E+12” o qual não é o mesmo apresentado no valor correto.

Ao abrir o arquivo .csv no excel, encontro realmente o texto sendo exibido como “7,8966E+12”, porem quando clico para verificar o valor da função, recebo o número correto de 7896603803918.

Meu problema se resume a: O arquivo .csv me envia um número exponencial que não representa o número real, impossibilitando a importação. Qual seria a solução correta para que eu pudesse retirar esses valores de forma correta do arquivo .csv ou se é um problema que todos enfrentam.

Código sendo utilizado no momento:

<?php $  csv = str_getcsv(file_get_contents('data.csv', 'r'), ';'); var_dump($  csv); 

Exporting lists and saving them as .CSV file

I found this code that has helped me out incredibly with my job. I would like to customize it a little bit more though and for the life of me I can’t get it to work. I have no coding knowledge at all so I thought I may be able to get some help from this community.

I would like to include something so that when the files are saved, it’s saved in .CSV file format. The code I have is shown below.

Sub Test()   Dim wb As Workbook   Dim ThisSheet As Worksheet   Dim NumOfColumns As Integer   Dim RangeToCopy As Range   Dim RangeOfHeader As Range        'data (range) of header row   Dim WorkbookCounter As Integer   Dim RowsInFile                    'how many rows (incl. header) in new files?    Application.ScreenUpdating = False    'Initialize data   Set ThisSheet = ThisWorkbook.ActiveSheet   NumOfColumns = ThisSheet.UsedRange.Columns.Count   WorkbookCounter = 1   RowsInFile = 101                   'as your example, just 1000 rows per file    'Copy the data of the first row (header)   Set RangeOfHeader = ThisSheet.Range(ThisSheet.Cells(1, 1), ThisSheet.Cells(1, NumOfColumns))    For p = 2 To ThisSheet.UsedRange.Rows.Count Step RowsInFile - 1     Set wb = Workbooks.Add    'Paste the header row in new file     RangeOfHeader.Copy wb.Sheets(1).Range("A1")    'Paste the chunk of rows for this file     Set RangeToCopy = ThisSheet.Range(ThisSheet.Cells(p, 1), ThisSheet.Cells(p + RowsInFile - 2, NumOfColumns))     RangeToCopy.Copy wb.Sheets(1).Range("A2")    'Save the new workbook, and close it     wb.SaveAs ThisWorkbook.Path & "\file " & WorkbookCounter     wb.Close    'Increment file counter     WorkbookCounter = WorkbookCounter + 1   Next p    Application.ScreenUpdating = True   Set wb = Nothing End Sub 

Criar um dataframe a partir de uma vários arquivos ‘.csv’

Tenho vários arquivos ‘.csv’ com o mesmo formato numa pasta, cada um com dados de uma data diferente.

ex.: 20181225 MFBG.csv – dados do dia 25 de dezembro de 2018

20181225 MFBG.csv - dados do dia 25 de dezembro de 2018

Quero montar um único banco de dados utilizando apenas dados da primeira coluna numérica (coluna B) de cada arquivo ‘.csv’. Pretendo transpor os dados para que cada cidade se torne uma coluna e os índices das linhas seriam as datas presentes no nome de cada arquivo.

Saída

inserir a descrição da imagem aqui

writing in .txt file by reading with .csv file in C/C++

/*I want to read global variable from .csv file --------------- suppose in .csv  Before comma value will be variable and after comma value variable value. i,5.40 j,10.68 s,20.65 ------------- */     int main() {       FILE *fp1 = fopen("input.csv" , "r");       FILE *fp2 = fopen("output.txt" , "w");        fprinf(fp2,"Sum of i and j = %.2f", i+j);       fprinf(fp2,"Division of s by j = %.2f", s/j);        return 0;   } 

/* ————————– output.txt

sum of i and j = 16.08 Division of s by j =1.93 ---------------------  Please help me in this program with C/C++ */ 

I want to read global variable from .csv file Before comma value will be variable and after comma value