Tiedoston muuttaminen...

Viestiketju Vapaata keskustelua -osiossa. Ketjun avasi Ossi 25.01.2007.

  1. Ossi

    Ossi Regular member

    Liittynyt:
    08.06.2003
    Viestejä:
    371
    Kiitokset:
    0
    Pisteet:
    26
    Eli ongelmani on seuraavanlainen...

    Minulla on hinnasto jonka päivitän hinnasto.csv tiedostolla..
    tiedostossa on kolme eri saraketta.. tuotenumero,tuote,hinta

    Mutta saan uudet hinnat hinnat.txt tiedostona jossa on vastaavat tiedot jotka pitäisi siirtää tuohon hinnasto.csv:hen.. Eli onko tämä mahdollista jotenkin?

    Nyt jos teen sen käsin on se todella suuri homma.. eli copy pastella siirtelen kaikki yksitellen..
     
  2.  
  3. yamaneko

    yamaneko Senior member

    Liittynyt:
    22.09.2005
    Viestejä:
    5,093
    Kiitokset:
    1
    Pisteet:
    118
    Äh, otinkin edellisen ohjeeni pois, csv-tiedostohan on puhdasta tekstiä, niin siihen se lisäys olisi varmaan helpointa tehdä jollain tekstieditorilla, lisäilee puolipisteet vaan oikeisiin kohtiin.
     
    Viimeksi muokattu: 25.01.2007
  4. Ossi

    Ossi Regular member

    Liittynyt:
    08.06.2003
    Viestejä:
    371
    Kiitokset:
    0
    Pisteet:
    26
    Tajusin juuri itsekkin tämän.. noin 5 min ennen vastaustasi :D
    Mutta.. aina on se mutta..

    .txt tiedoston sisältö näyttää tältä...

    16220001;ASUS WL-600G ADSL + WLAN REITITIN;90.66;
    jne..
    .
    .

    Onnistun tuomaan ne ecxeliin ihan oikein.. paitsi hinnat..
    esim. 3.93 muuttuu--> maalis.93 jne..

    Ainut on jos laitan valinnassa sarakkeen muodoksi teksti niin silloin ne näkyvät oikein.. Mutta sitten kun yritän tallentaa .csv tiedostoksi muutuvat hinnat taas kuukausiksi..
     
  5. yamaneko

    yamaneko Senior member

    Liittynyt:
    22.09.2005
    Viestejä:
    5,093
    Kiitokset:
    1
    Pisteet:
    118
    Kuten huomaat, postinkin ohjeeni, sillä eikös sitä csv:tä olisi helpoin muokata tekstieditorilla Excelin sijaan? Csv on tekstitiedosto, ja jos noi lisäyksetkin sisältävät jo erottimetkin, niin ei muuta kuin lisäykset edellisten perään?
     
  6. Peppi_

    Peppi_ Regular member

    Liittynyt:
    28.03.2006
    Viestejä:
    290
    Kiitokset:
    0
    Pisteet:
    26
    Jos windowsin asetuksessa on määrätty desimaalierottimeksi pilkku, niin excel muuttaa tuon 3.95 päivämääräksi. Yleensäkkin excelillä on iso halu muuttaa kaikki päivämääriksi.
    Voit muuttaa local asetuksista desimaalierottimeksi pisteen tai sitten kun se excelissä on vielä tekstinä, valitse sarake ja siihen sarakkeeseen korvaan kaikki pisteet pilkuilla ja sitten voit muuttaa sen numeroformaattiin. Tosin tuo pilkku sitten sekoittaa pilkullaerotetun listan, mutta sinulla erottimena näyttikin olevan puolipiste.
     
    Viimeksi muokattu: 25.01.2007
  7. Ossi

    Ossi Regular member

    Liittynyt:
    08.06.2003
    Viestejä:
    371
    Kiitokset:
    0
    Pisteet:
    26
    No nyt tuntuisi taas toimivan :)
    kiitoksia!!
     
  8. tmm68

    tmm68 Regular member

    Liittynyt:
    03.01.2005
    Viestejä:
    677
    Kiitokset:
    0
    Pisteet:
    26
    Teen tuollaisia muokkauksia excelillä lähes päivittäin.

    Onko mitään estettä vain ja ainoastaan hoitaa kaikki excelissä?
    Jos ei, niin muokataan/tallennetaan se sinun "hinnasto.csv" -tiedostosi ensin excel-muotoon "hinnasto.xls". Tämän jälkeen jatkomuokkaus ja hinnaston päivitykset voidaan automatisoida.
    Seuraavat kommentit olettavat, että käytät englannin kielistä exceliä. Kaavat eivät ole optimoituja vaan nopeasti tehtyjä.

    1) lisää hinnaston alkuun uusi rivi

    2) nimeä otsikot/sarakkeet:
    A1=alkuperäinen tilanne
    B1=tuotenumero
    C1=tuote
    D1=hinta

    3) "maalaa" sarake A, paina CTRL+H, vaihda "." -> ","

    4) Oletan, että solun A2 sisältö on nyt "16220001;ASUS WL-600G ADSL + WLAN REITITIN;90,66".
    Kirjoita soluun...
    B2: =LEFT(A2;(FIND(";";A2)-1))
    C2: =LEFT(RIGHT(A2;LEN(A2)-FIND(";";A2));FIND(";";RIGHT(A2;LEN(A2)-FIND(";";A2)-1)))
    D2: =RIGHT(A2;LEN(A2)-LEN(B2)-LEN(C2)-2)

    Merkitse solut B2:D2 ja vedä D2:n oikeasta alakulmasta alas niin pitkälle kuin taulukko on pitkä.
    Taulukon pitäisi olla valmis.
    Toimiiko?

    Mitä päivitetyt hinnat ovat? Ovatko ne uusia tuotekoodeja vai vanhoille koodeille päivitettyjä hintoja?
    Itse käyttäisin hintalistaa "master"-tiedostona ja linkkaisin päivitykset siihen. Avaimena käyttäisin funktiota "VLOOKUP", ja formaatti tämä:
    =IF(ISERROR(VLOOKUP(a2;'C:\polku\[päivityshinnasto.xls]Tab1'!$B:$D;3;FALSE));0;VLOOKUP(a2;'C:\polku\[päivityshinnasto.xls]Tab1'!$B:$D;3;FALSE))

    Toinen vaihtoehto on kopioida kaikki päivitetyt hinnat master-taulukkoon (merkitse ne jotenkin). Sitten aakkostaa koko taulukko tuotenumeron perusteella ja lopuksi poistaa tuplat (siis vanhat).
     
    Viimeksi muokattu: 25.01.2007
  9. Ossi

    Ossi Regular member

    Liittynyt:
    08.06.2003
    Viestejä:
    371
    Kiitokset:
    0
    Pisteet:
    26
    No nyt onnistun kyllä päivittämään hinnaston ja muuttamaan tukkurin antaman hinnaston .csv muotoon..

     
    Viimeksi muokattu: 26.01.2007
  10. Ossi

    Ossi Regular member

    Liittynyt:
    08.06.2003
    Viestejä:
    371
    Kiitokset:
    0
    Pisteet:
    26
    Tai tarkemmin miettien en sittenkään.. :D

    onnistunko tekemään näin.. (minulla muutes suomenkielinen excell)

    Nyt minulla on kaksi taulukkoa.. hinnat1.csv ja hinnat2.csv

    Olen tuonut hinnat hinnat1.csv:n omasta hinnastostani(sisältää myös tarkemmat tuotetiedot)..
    ja hinnat2.csv on tukkurilta tullut päivitys hinnastoon (vain tuotenumero ja hinta)..

    Nyt minun täytyisi poistaa tästä hinnat1.csv tiedostosta tuotteet joita ei ole hinnat2.csv:ssä sekä päivittää hinnat2.csv --> hinnat1.csv (eli jos tuotenumeroa 16220001 ei ole, niin poistetaan se)

    Silloin tämä pysyisi ajantasalla...

    Hinnasto-ohjelma mikä minulla on käytössä ei osaa itse poistaa tuotteita joita ei enää päivitetä..
     
  11. Ossi

    Ossi Regular member

    Liittynyt:
    08.06.2003
    Viestejä:
    371
    Kiitokset:
    0
    Pisteet:
    26
    Ei kenelläkään olisi ideaa miten hoidan tämän??

    Olisikko excelissä jotain funktiota jolla voisin verrata tuotenumero saraketta näiden kahden taulukon kesken??

    Eli tuotenumerojen järjestys ei ole vakio.. eli täytyisi tutkia löytyykö näistä kahdesta sarakkeesta samaa numerosarjaa??

    Ja vielä jos ilmoittaisi sen että mitä ei löyydy :)
     
  12. Ossi

    Ossi Regular member

    Liittynyt:
    08.06.2003
    Viestejä:
    371
    Kiitokset:
    0
    Pisteet:
    26
    Mitenhän saisin tämän toimimaan?

    Minulla on kaksi taulukkoa eri välilehdillä..
    Hinnat vanha ja Hinnat uusi

    Täytyisi vertailla sarakkeessa A olevia tuotenumeroita..
    Hinnat vanha taulukon sarake a:ta verrataan Hinnat uusi sarake A:han..

    Jos uusi taulukosta ei löydy samoja numeroita mitä vanhassa on niin osaisin poistaa tuotteet hinnastosta..

    Eli tämä ottaisi vain huomioon ne tuotteet mitä uudessa taulukossa ei ole.. ei siis huomioisi uusia lisättyjä tuotteita..
     

Jaa tämä sivu