Jump to content

Che

Active Members
  • Content Count

    1239
  • Joined

  • Last visited

  • Days Won

    6

Che last won the day on September 26 2018

Che had the most liked content!

Community Reputation

171 Excellent

About Che

  • Rank
    Registered user

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Che

    Monetizare site filme

    @b90rvn In locul tau m-as interesa daca mai sunt in voga siturile cu filme, asta inainte sa bagi banii in promovarea sitului. Iti zic asta fiindca mi se pare ca sunt cam... moarte. Nu ma bazez pe nimic cand spun asta dar nu mi se pare ca mai e ca acum cativa ani cand toate lumea vedea filme si seriale la greu. Nici actorii buni nu prea mai scot cine stie ce. Di Caprio nu a mai scos ceva bun de mult timp, Nicolas Cage joaca in filme din ce in ce mai slabe, Van Damme incearca sa para ca in tinerete, majoritatea sunt filme de duzina care primesc Oscarul asa, pe ochi frumosi, pe chestii de nediscriminare, de femeie in rol principal, de homosexual in rolul eroului principal si asa mai departe, lucur care face lumea sa-si cam bage ceva in ele de filme. Parerea mea.
  2. Che

    La multi ani 2019!

    La multi ani!
  3. Nu pot face ceea ce zici tu cu extrasul fiindca nu exista primary key si pot fi persoane care sa aiba atat acelasi nume, cat si acelasi prenume, precum si chiar si aceeasi varsta, ei putand sa difere ca inaltime sau tara de provenienta. Nu poti sti care si cate coloane pot avea aceleasi valori si deci diferenta sa se faca prin coloanele ce au valori diferite. Stiu, am incercat cu UNION numai ca nu merge, trebuie sa aiba aceleasi coloane si acelasi numar de coloane: "Each SELECT statement within UNION must have the same number of columns;"
  4. Din mai multe fisiere json, dupa ce le-am convertit in format .csv, le-am bagat cu Python intr-o baza de date de tip SQLite. In total am 500 de tabele care sunt in felul urmator: Toate au in comun ~30 de coloane (fullName, firstName, lastName, age, sex, nationalitate, etnie, regiune, tara etc.) <--- toate astea sunt in comun in toate tabelele si se gasesc in fiecare dintre cele 500 de tabele. Acuma, fiecare tabel mai are in plus intre 1 si 15 coloane unice, specifice doar lui, care nu se mai gasesc si in alte tabele. O persoana (nu e vorba de o persoana reala, nu va ganditi la date personale & stuff) se poate gasi intr-un tabel sau mai multe sau in toate dar nu e neaparat sa se gaseasca in toate tabelele, putand fi si tabele care nu contin acea persoana. Folosind SQLite m-am gandit sa fac asta cu LEFT OUTER JOIN problema e ca daca le bag pe toate intr-un singur query imi da operational error ca numarul maxim e 1000. Asa ca am decis sa iau tabelele cate 7 desi merge ca si comanda e tot prea mare si da Memory Error. Asa ca m-am gandit sa le iau cate doua: Create table Mytable_randomstr1 if not exists as select * from tabel_1 left outer join tabel 2; dupa care sa inversez (practic fac permutare intre cele doua) si reulta comanda: Create table Mytable_randomstr2 if not exists as select * from tabel_2 left outer join tabel 1; In final imi rezulta alte doua tabele si daca e sa o iei asa, nu am rezolvat nimic ca din cele 500 de tabele imi rezulta altele 500. Cum as putea sa le combin pe toate intr-unul singur, fara a pierde datele din coloanele specifice fiecarui tabel (tinand cont ca tabelele nu au numar egal de coloane) ? Daca e nevoie trec totul pe MySQL, numai sa iasa, problema e ca baza de date SQLite o tine pe un hdd portabil de 2tb in timp ce pe PC nu mi-ar incapea baza de date MySQL. Multumesc mult de tot!
  5. Che

    Criptanaliză acustică

    Ok, si... exista un soft care, instalat pe telefon sau pe alt PC, sa capteze sunetul altui PC si sa iti redea, de exemplu, ce se intampla pe acel PC + ce scrie acel utilizator in Word sau oriunde altundeva ?
  6. Che

    Metode de ingreunare a scrapangiilor

    @Gecko Care este situl, te rog frumos, ca vreau sa ma joc si eu in python cu el ? Da-mi PM, te rog mult, daca nu vrei sa il faci public ca eu nu am mai vazut un astfel de site niciodata si vreau sa ma joc cu el (promit ca nu-i fac nici un rau) doar vreau sa vad cum arata asa ceva life. Multumesc mult de tot! Linia de mai jos ce face ?
  7. Salut! In domeniul AI care este cel mai avansat algoritm de intelegere a limbajului uman, pana in momentul de fata ? Stiu ca era aia cu lanturile Markov, dar ceva mai avansat de atat ? Ceva care sa inteleaga un text scris de exemplu ?
  8. Che

    Matricea

    @aurelLDe python nu ai nevoie ca te-as putea ajuta cu cea mai mare placere dar in C++ nu am mai programat de ceva vreme si mi-e cam greu acuma, plus ca am si ceva vin la bord ?
  9. Poate o sa folosesc php dar momentan nu imi e indemana ca nu am mai scris nimic in php de peste 5 ani. Multumesc! Da, m-am gandit sa imi comentez cat mai explicit codul ca nu programez tot timpul si cand ma apuca am observat ca nici eu nu mai stiam ce am vrut sa scriu acolo.
  10. Gata, am rezolvat. Folosesc acum c.executemany(sqlite_command). Totusi, cu pandas nu imi da voie ca imi da o eroare ca numarul de coloane nu e egal... (?!). Ciudat. Zic fiindca am vazut o metoda mult mai simpla folosind pandas. Oricum, am rezolvat. Multumesc pentru ajutor! (Nu era treaba cu CTL-urile.)
  11. Salut ! Am facut urmatorul script in python care iti ia fiecare fisier csv si ti-l baga intr-o baza de date SQLite. Fisierele originale csv sunt destul de marisoare (~50-60mb) fiecare. Dar am incercat pe niste fisiere mult mai mici (de 400kb -450kb) fiecare si sta extraordinar de mult pana le baga in baza de date. Nu am pus o mie de astfel de fisiere ci doar 5 si sta deja o ora si tot nu a terminat de bagat in baza de date. Nu as vrea sa stau ani de zile in cazul fisierelor originale. Ma gandesc ca poate gresesc pe undeva de merge asa de greu. Va rog, poate ma puteti ajuta. Aici este scriptul: # coding: utf-8 import json import os import sqlite3 from csv import reader from os import listdir import unicodecsv as csv from os.path import isfile, join # ne conectam la baza de date, daca aceasta nu exista atunci o cream mai intai si apoi ne conectam # aceasta va fi creata automat, daca nu exista, la prima conectare: conn = sqlite3.connect(myfiles_path + 'mydatabase.db') # se creaza instanta de acces catre baza de date: c = conn.cursor() for each_csv_file_found in csv_list_files: # ca sa stim cam pe unde se afla: print "Bagam in baza de date fisierul csv: {}".format(each_csv_file_found) csv_headers = read_csv_headers(myfiles_path + each_csv_file_found) beta_rows = getCSV_rows(myfiles_path + each_csv_file_found) final_columns = ', '.join(csv_headers) # se genereaza numele tabelului de introdus in baza de date: table_name = each_csv_file_found.rsplit('.', 1)[0].replace("Total_", '').replace("mins", "").replace("-", "_") values_to_insert = [] for each_beta_row in beta_rows: values_to_insert.append(tuple(each_beta_row)) # se va crea un tabel dupa fiecare fisier csv gasit, doar daca acesta nu exista: sql_command_create_table = '''CREATE TABLE IF NOT EXISTS {}({})'''.format(table_name, final_columns) c.execute(sql_command_create_table) # Nu se face Create unique index fiindca le amesteca si le combina aiurea pe toate si mai si sare din ele! # save changes: # Trebuie executata dupa fiecare c.execute si nu doar la final! conn.commit() # incepem sa construim query pentru adaugarea de valori in db: semne = "?" * len(csv_headers) question_marks = ",".join(semne) conn.text_factory = str for row_value in values_to_insert: # Nu trebuie cu REPLACE INTO fiindca iti baga mai multe randuri asemanatoare intr-un singur rand! # c.execute('INSERT team_summary_overall ({}) VALUES ({})'.format(final_columns, question_marks), row_values) c.execute('INSERT INTO {} ({}) VALUES ({})'.format(table_name, final_columns, question_marks), row_value) # save changes: # Trebuie dupa fiecare c.execute si nu la sfarsit! conn.commit() # inchidem conexiunea la baza de date: # se executa o singura data, la final: conn.close() Folosesc unicodecsv fiindca csv normal imi da eroare la scrierea datelor ca sunt litere de astea si imi da eroare ca nu poate citi ascii in pozitia x, ceva de genul "can't decode ascii x08x\67...". Si am stat o zi intreaga si altfel nu am reusit sa rezolv problema decat folosind unicodecsv. Multumesc mult de tot !
  12. @gigiRoman Multumesc! Am sa incerc. Eu ma gandeam ca poate este vreo comada pentru SQLite ca ar fi mai usor sa fac in felul urmator: Iau fiecare fisier json si in transform in tabel din baza de date SQLite. Apoi, cu o comanda, tot cu python, cauta fiecare persoana in parte in toate tabelele si apoi daca gaseste valori sa le ia iar daca nu sa bage "NAN". Cum a terminat cu un tabel, cum sa-i dea delete sau, daca nu, dupa ce le-a verificat pe toate sa le dea delete si sa pastreze tabelul original nou creat pe baza tuturor tabelelor. Nu este o asa comanda ? (Mi-ar fi mai simplu.) (Cam aceeasi problema o am si eu ca si cel care a intrebat acolo adica nu le pot incarca pe toate in memorie ca nu am 60Gb RAM.) Multumesc mult pentru ajutor ! @aelius Sunt foarte sigur ca sunt json fiindca eu le-am creat cu ajutorul unui script facut de mine in python, pe baza a niste date luate de pe niste situri. Am facut si proba, cu fisere json mai mici (de test, generate cu niste date la intamplare, mai putine), merge sa parsez, sa fac ce vreau, doar ca astea sunt uriase, fiecare are cate 50-52.000 de randuri si cate 15-30 de coloane.
  13. Am cam 1028 de fisiere .json de ~100-150mb fiecare. Ele sunt niste tabele ale unei baze de date in felul urmator: Coloane===> NUME | COL_1 | COL_2 | COL_3|...|COL_n| Date exemplu: Persoana_1| 0.24|True|2.89|0.00008756|0.654762|27.0|...|etc. Coloanele identice care se gasesc in toate tabelele: NUME, data nasterii, varsta, greutate, inaltime, rasa etc. sunt cam 7-8 coloane identice, restul coloanelor (in numar variabil de la un tabel la altul) nu sunt identice deloc si fiecare tabel are alte coloane diferite. Este posibil ca sa fie persoane lipsa din unele tabele iar din altele sa fie altele in plus. Acuma, eu am incercat sa le unesc pe toate intr-un singur fisier de tip .json, folosind python. Adica iau de exemplu pentru prima perosana si notez coloanele care se repeta in toate tabelele (atentie pot fi persoana cu acelasi nume si prenume dar care sa difere la greutate si inaltime sau la celelalte coloane care se repeta in toate tabelele), de exemplu: Persoana_1, 75kg, 1.84m etc. si apoi sa fac asa: trec coloanele diferite din primul tabel .json dupa care caut persoana dupa nume, prenume si coloanele care se repeta (ca sa fiu sigur ca nu e altul cu acelasi nume si prenume) in al doilea fisier .json si, daca e gasit ii adsaug noile coloane cu valorile respective, daca nu l-am gasit in al doilea fisier ii trec coloanele respective dar cu "NAN" ca si valoare. Si fac asa pentru fiecare fisier in parte. E o problema cu care ma confrunt: fisierele fiind asa de mari si atat de multe, la un momentdat dupa ce imi proceseaza un anumit numar de fisiere imi da o eroare de memorie fiindca nu am destul RAM ca sa le pot combina. (In total ele au peste 60Gb.) Cum sa fac sa nu se mai intample asta ? Este vreo metoda in python sau in SQL (SQLite m-am gandit sa folosesc in final) care sa evite chestia asta cu memoria ? Ma gandesc sa incerc si in felul urmator: Cu python scriu fiecare fisier .json intr-un tabel SQLite dupa care cum sa fac ca sa fac din toate tabelele unul singur ? Si tot asa, sa verific cu atentie sa nu incurc persoanele care au acelasi nume si prenume verificand si celelalte coloane personale de care va ziceam (ex. inaltime, varsta etc.). Cum as putea sa fac asta in SQL/SQLite folsind python, va rog ? Multumesc mult!
  14. Che

    Ce carti mai cititi?

    @praseodim @Ossian @BiosHell @gigiRoman @Nytro @StefaniaM @Raul @tjt @yo9gjx @mark0 si toti ceilalti: Voi de pe ce cititi cartile in format electronic ? Va intreb fiindca si eu imi propusesem la un moment dat sa citesc ce carti imi mai veneau in minte sau de care aveam nevoie si am citit cateva, de pe PC, dupa care am renuntat ca mi s-a parut obositor. Voi citit de pe laptop, de pe tableta, vi le printati sau cum faceti ? Multumesc pentru sfaturi si scuze de offtopic!
×