Programim dhe zhvillim, javascript, python, php, html

Filtro rreshtat në skedarin csv bazuar në një skedar tjetër csv dhe ruani të dhënat e filtruara në një skedar të ri

Dite te mire te gjitheve

kështu që po përpiqesha të filtroja skedarin2 bazuar në skedarin1, ku skedari1 është një nëngrup nga skedari2. Por file2 ka kolonën e përshkrimit që më duhet që të jem në gjendje të analizoj të dhënat në skedarin1. Ajo që po përpiqem të bëj është të filtroj skedarin2 dhe të marr vetëm titujt që janë në skedarin1 me përshkrimin e tyre. E provova këtë, por nuk jam i sigurt nëse është plotësisht e drejtë, plus që po funksionon, por nuk kam asnjë skedar të ruajtur në kompjuterin tim

import re
import mmap
from pandas import DataFrame
output = []
with open('file2.csv', 'r') as f2:
    mm = mmap.mmap(f2.fileno(), 0, access=mmap.ACCESS_READ)
    for line in open('file1.csv', 'r'):
        Title = bytes("")
        nameMatch = re.search(Title, mm)
        if nameMatch:
            # output.append(str(""))
            fulltypes = [ 'O*NET-SOC Code', 'Title' , 'Discription' ]
            final = DataFrame(columns=fulltypes)
            final.to_csv(output.append(str("")))
    mm.close()

ndonje ide ?

01.06.2017

  • A ka ndonjë arsye të veçantë pse nuk po lexoni skedarin1 dhe skedarin2 në kornizat e të dhënave? 01.06.2017
  • Ju nuk shkruani asgjë. Nuk e hape as skedarin me modalitetin e shkrimit 01.06.2017

Përgjigjet:


1

Duke supozuar se skedarët tuaj csv nuk janë shumë të mëdhenj, mund ta bëni këtë duke lexuar si në pandas ashtu edhe duke përdorur metodën join. Merrni shembullin e mëposhtëm:

import pandas as pd

file1 = pd.DataFrame({'Title': ['file1.csv', 'file2.csv', 'file3.csv']})
file2 = pd.DataFrame({'Title': ['file1.csv', 'file2.csv', 'file4.csv'],
                      'Description': ['List of files', 'List of descriptions', 'Something unrelated']})

joined = pd.merge(file1, file2, left_on='Title', right_on='Title')

print joined

Kjo printon:

       Title           Description
0  file1.csv         List of files
1  file2.csv  List of descriptions

dmth vetëm skedarët që ekzistojnë në të dyja.

Meqenëse pandas mund të lexojë në mënyrë origjinale një csv në një kornizë të dhënash, në rastin tuaj mund të bëni:

import pandas as pd

file1 = pd.DataFrame.from_csv('file1.csv')
file2 = pd.DataFrame.from_csv('file2.csv')

joined = pd.merge(file1, file2, left_on='Title', right_on='Title')

joined.to_csv('Output.csv', index=False)
01.06.2017
  • I shoh. Kjo po funksionon perfekt! faleminderit shumë :D 04.06.2017
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..