Wpis z mikrobloga

czesc. mam bardzo duzo danych w plikach csv. potrzebuje tylko czesc danych z tych plikow. jakim sposobem najbardziej poprawnie bedzie te dane wyłuskać? poczatkowo chcialem wczytac caly csv do tabeli w pandas #python i niepotrzebne wiersze pousuwac ale teraz mysle czy nie bardziej optymalnie bedzie czytanie wiersz po wierszu tych csv i dodawanie do tabeli tylko tych rekordow ktore potrzebuje? a moze jeszcze jakos inaczej? #naukaprogramowania #bazydanych
  • 40
uzyj glob by wyluskac na poczatek pliki interesujace Ciebie, daj je do listy, a pozniej otwieraj kazdy plik z listy i dalej łuskaj.


@luukasek: o to spoko opcja na pewno sie przyda

parquet


@Nemeczekes: tez piewsze slysze musze obczaic najpierw co to jest za bajer

Python, import csv, with open as CSVFile, with open writeFile as wFile, csv reader(csv file),csv writer(wFile), for row in csv reader, if coś writer. Write(row)
via Wykop Mobilny (Android)
  • 0
@rosso_corsa: chociaż jak myślę że jak 150gb to może być IO throttle jak będziesz pisał i czytał po linii, może jednak lepiej w pandas otwierać w chunk.
Masz dużo plików o małym rozmiarze czy mało plików o dużym rozmiarze?
glob

@rosso_corsa:
masz tu przyklad:
import glob
allPDF = []
def pliki():

for file in glob.glob("*dd*.csv"):
allPDF.append(file)
pliki()
kazdy plik csv co ma w nazwie dd i jest csv zostanie dodany do listy allPDF. mozesz sobie dowolnie modyfikowac