PDA

View Full Version : Da *.sql a *.csv


Dinofly
01-08-2015, 04:54
Salve a tutti, ho un enorme database in *.sql e vorrei arrivare al *.csv.
Il database contiene moltissimi dati di più di 80000 progetti di kckstarter.
Vorrei usarlo per delle analisi statistiche, ma non ho idea di come aprire il file.

In realtà io non so neanche quali siano i campi dei dati.
Qualche anima pia, magari interessata all'argomento, vuole darmi una mano?
Grazie.

https://onedrive.live.com/redir?resid=9A6358789BAF6A67!2946&authkey=!AG6UEqRUwK8qAAo&ithint=file%2cgz

cdimauro
01-08-2015, 07:44
Il database è vecchio di due anni (2013), ed è stato realizzato per MySQL, per cui lo devi importare prima di poterlo utilizzare.

Ormai sono un po' di anni che non ci lavoro più, ma dovresti digitare qualche comando come:

mysql <kickscrape.sql

che crea il db, le tabelle, e importa i dati.

Una volta importato puoi esportare i dati in CSV (http://stackoverflow.com/questions/356578/how-to-output-mysql-query-results-in-csv-format).

La tabella dei progetti è crawler_project, mentre quella dei "backer" (non so cosa significa, ma sono persone che avranno un certo ruolo su Kickstarter) è crawler_backer, mentre un'altra tabella che lega backer e progetto è crawler_backer_project.

Dinofly
01-08-2015, 16:08
Grazie, vedrò cosa riesco a fare.
I backer sono le persone che hanno donato per un progetto.
Ma quali sono le "colonne"?

cdimauro
01-08-2015, 16:37
Le colonne sono i campi definiti all'interno della tabella.

Dinofly
10-08-2015, 22:41
Cdimauro, ma è un operazione che impiega parecchio tempo?
Perchè ho provato a guardare ma non ci capisco proprio nulla...

Maui78
11-08-2015, 06:46
Ciao
Potresti anche creare una sorgente odbc ed accedere al database senza fare alcun export dei dati, se, per esempio, lo strumento che vuoi usare per l'analisi dei dati è excel.
Non ho scaricato il file che hai reso disponibile, bisognerebbe sapere se hai realmente bisogno di tutto il database o se ti è sufficiente una piccola porzione di dati per la tua analisi. Magari potresti cavartela con qualche semplice query o hai già escluso questa ipotesi (magari per mancanza di conoscenza dell'sql..) ?

Ciao

Dinofly
11-08-2015, 12:15
Ciao, no mi servirebbe tutto il database o magari posso escludere i progetti che richiedevano meno di 5000.
Ma poi dovrei richiamare comunque la tabella di backers.

Per il primo immagino il comando sia select * from crawler_project where goal >5000

cdimauro
16-08-2015, 05:48
Cdimauro, ma è un operazione che impiega parecchio tempo?
Perchè ho provato a guardare ma non ci capisco proprio nulla...
L'operazione non è lunga. Semplicemente ogni tabella ha un banale elenco di campi, fra i quali devi scegliere ciò che t'interessa.

L'operazione lunga è l'importazione del db, perché ci sono parecchi dati (comunque vecchi: fino al 2013).
Ciao, no mi servirebbe tutto il database o magari posso escludere i progetti che richiedevano meno di 5000.
Ma poi dovrei richiamare comunque la tabella di backers.

Per il primo immagino il comando sia select * from crawler_project where goal >5000
Non ricordo bene la struttura di questa tabella (non ho sottomano il mio PC adesso), ma la query dovrebbe essere quella.

Dinofly
30-09-2015, 20:16
Buongiorno a tutti, riuppo il topic perchè avrei bisogno di una trasformazione di tali dati.
Mesi fa sono riuscito ad estrarli in csv, ora ho tre tabelle di cui una con i progetti una con i finanziatori e un'altra con i singoli finanziamenti.
Ciò che mi interesserebbe fare ora è creare un csv con le relazioni diatiche da infilare in stata:
In pratica partendo dalla tabella con i finanziamenti per ogni finanziamento dovrei creare una tabella con la lista di tutte le alternative (i progetti attivi nel medesimo periodo e nella medesima categoria).
In pratica mi serve un generatore di query che a partire dalla tabella dei singoli finanziamenti crei automaticamente delle query simili a questa (i singoli finanziamenti sono migliaia):
select * from progetti where categoria=x and data<y
E mi faccia una tabella mettendo tutto assieme.

Sarei anche disposto a pagare uno che mi dia il csv finale.

malatodihardware
03-10-2015, 16:06
Secondo me la via più semplice è riconvertirli in un database e da lì fare le query che ti servono. Può bastare anche Access..

Dinofly
19-10-2015, 14:35
Ok ma se parliamo di migliaia di query, come faccio a fare si che le generi autonomamente?

malatodihardware
19-10-2015, 17:35
Penso che si riesca a fare con una query unica.. Riesci a postare la struttura delle tabelle e qualche riga d'esempio?

Inviato dal mio Nexus 5