none
Excel 2007 - import dat z textu RRS feed

  • Dotaz

  • Při importu dat z textu (soubory *.csv), kde je oddělovačem sloupců čárka, se mi sloupec, který by měl obsahovat desetinná čísla, vždy naimportuje ve formátu datum. Např. 10.3 se místo čísla 10,3 importuje jako datum 10.III. Nepomáhá ani když tlačítkem upřesnit zadám oddělovač desetinných míst jako tečku. Vše dělám stejně jako v Excelu 2003, kde to tak šlo, ale v Excelu 2007 toto nefunguje. Můžete mi poradit, jak Excel "donutit", aby ten sloupec naimportoval jako číslo a ne datum?
    čtvrtek 12. března 2009 9:05

Odpovědi

  • Ahoj,

    kdysi jsem řešil podobný problém při importu externích dat (csv) do aplikace MS Excel 07 - viz ZDE.

    Jde o to, že desetinná místa máš oddělena tečkou, přičemž Excel má defaultně nastavenu čárku a při samotném importu s tím, bohužel, nic nenaděláš a proto je výsledek mršinka:).

    Řešením tedy bude, jak popsal v mém (výše uvedeném) threadu Miroslav - buďto změnit oddělovač míst (10,1000) v regionálních nastaveních v pc (což je drsné) či v excelu -> možnosti -> upřesnit -> odznačit "použít oddělovače ze systému" a nastavit požadované hodnoty.

    Je zvláštní, že si člověk nemůže nadefinovat toto již při samotném importu, když v Excel 03 to JDE, nicméně je to tak. Šotek:).

    Robajz
    • Označen jako odpověď Pavoucek úterý 17. března 2009 6:16
    čtvrtek 12. března 2009 20:13
  • k ODBC a to s velikym zjednodusenim:

    ODBC (open database connectivity) slouzi k unifikovanemu pripojeni k ruznym databazim. Jednou takovou "databazi" je jeden ci vice textovych souboru. Excel jako prostrednika k pripojeni k databazim pres ODBC pouziva programek MS Query.

    Z excelu se pomoci ODBC pripojis pomoci Data- nacist externi data- z jinych zdroju- z aplikace MS Query

    Vyberes "Novy zdroj dat", nejak si jej pojmenujes a zvolis "Microsoft text driver". Tlacitkem "Pripojit" vyberes adresar obsahujici textovy soubor (y) a tlacitkem "Options" dodefinujes pro jednotlive soubory pripadna nestandardni nastaveni. Nicmene idealni cesta je rucni editace souboru schema.ini v temz adresari (http://msdn.microsoft.com/en-us/library/ms709353.aspx)

    Pak si jiz dotahnes sloupce vybrane v celkem blbuvzdornem pruvodci MS Query do Excelu. Takto propojeny obsa hje DYNAMICKY, tlacitkem Aktualizovat si jej kdykoliv refreshnes.


    MP
    • Označen jako odpověď Pavoucek úterý 17. března 2009 6:16
    pondělí 16. března 2009 8:38
    Moderátor
  • musis upravit schema.ini. bohuzel MS ODBC text driver ma dosti spartanske nastavovani a uz neni prilis opecovavany takze nejlepsi cesta je primo editovat schema.ini napr. v notepadu - priklad:


    [nazevsoboru.txt]
    ColNameHeader=True
    Format=CSVDelimited
    DecimalSymbol=.
    MaxScanRows=1
    CharacterSet=ANSI
    Col1=X Double
    Col2=Y Float
    Col3=Z Float
    Col4=Popis Char Width 10

    Vzhledem k tomu ze jednou nastavis a pak uz jen pouzivas to neni az tak moc prace. A muzes si opravdu nastavit uplne vsechno a to pro kazdy soubor extra je-li jich vice  -vcetne symbolu meny, oddeslovace tisicu etc etc.

    MP
    • Označen jako odpověď Pavoucek úterý 17. března 2009 6:12
    pondělí 16. března 2009 18:40
    Moderátor

Všechny reakce

  • Ahoj,

    kdysi jsem řešil podobný problém při importu externích dat (csv) do aplikace MS Excel 07 - viz ZDE.

    Jde o to, že desetinná místa máš oddělena tečkou, přičemž Excel má defaultně nastavenu čárku a při samotném importu s tím, bohužel, nic nenaděláš a proto je výsledek mršinka:).

    Řešením tedy bude, jak popsal v mém (výše uvedeném) threadu Miroslav - buďto změnit oddělovač míst (10,1000) v regionálních nastaveních v pc (což je drsné) či v excelu -> možnosti -> upřesnit -> odznačit "použít oddělovače ze systému" a nastavit požadované hodnoty.

    Je zvláštní, že si člověk nemůže nadefinovat toto již při samotném importu, když v Excel 03 to JDE, nicméně je to tak. Šotek:).

    Robajz
    • Označen jako odpověď Pavoucek úterý 17. března 2009 6:16
    čtvrtek 12. března 2009 20:13
  • znama chyba.

    pro opakovanou praci s vicemene stejnym souborem/y (myslim stejnou strukturou) doporucuji ODBC pripojeni pres MS ODBC text driver ... pak jen refresh na datech

    MP
    čtvrtek 12. března 2009 21:52
    Moderátor
  • Díky za odpovědi,

    Pro mě bude dobrou volbou dočasně si v Excelu odznačit "použít oddělovače ze systému" a nastavit si oddělovač desetinných míst na tečku a potom po importu zase zpátky změnit oddělovač desetinných míst na čárku. Je to sice pracnější, než jsem byl zvyklý z předchozí verze, ale funguje to (aspoň tak).

    Také mě zaujalo to ODBC připojení, protože s podobnými soubory pracuji pravidelně. Bohužel s tím nemám žádné zkušenosti, ale tuším, že by mi to mohlo usnadnit práci. Můžete mi popsat trochu podrobněji, jak toto připojení realizovat?
    pondělí 16. března 2009 7:55
  • k ODBC a to s velikym zjednodusenim:

    ODBC (open database connectivity) slouzi k unifikovanemu pripojeni k ruznym databazim. Jednou takovou "databazi" je jeden ci vice textovych souboru. Excel jako prostrednika k pripojeni k databazim pres ODBC pouziva programek MS Query.

    Z excelu se pomoci ODBC pripojis pomoci Data- nacist externi data- z jinych zdroju- z aplikace MS Query

    Vyberes "Novy zdroj dat", nejak si jej pojmenujes a zvolis "Microsoft text driver". Tlacitkem "Pripojit" vyberes adresar obsahujici textovy soubor (y) a tlacitkem "Options" dodefinujes pro jednotlive soubory pripadna nestandardni nastaveni. Nicmene idealni cesta je rucni editace souboru schema.ini v temz adresari (http://msdn.microsoft.com/en-us/library/ms709353.aspx)

    Pak si jiz dotahnes sloupce vybrane v celkem blbuvzdornem pruvodci MS Query do Excelu. Takto propojeny obsa hje DYNAMICKY, tlacitkem Aktualizovat si jej kdykoliv refreshnes.


    MP
    • Označen jako odpověď Pavoucek úterý 17. března 2009 6:16
    pondělí 16. března 2009 8:38
    Moderátor
  • Děkuji za vysvětlení,

    není to tak těžké, jak jsem se obával. Funguje mi to spolehlivě - např. když je oddělovačem sloupců středník. Ale mám problém, když chci připojit data, kde je jako oddělovač sloupců čárka, protože "Oddělovač polí textového souboru je shodný s oddělovačem desetinných míst nebo s oddělovačem textu". Já to vyřešil tak, že jsem v csv soboru nahradil čárku středníkem a pak to šlo, ale to je značně nepraktické a pomalé. Poradíte mi ještě, co mohu dělat v této situaci?
    pondělí 16. března 2009 12:27
  • musis upravit schema.ini. bohuzel MS ODBC text driver ma dosti spartanske nastavovani a uz neni prilis opecovavany takze nejlepsi cesta je primo editovat schema.ini napr. v notepadu - priklad:


    [nazevsoboru.txt]
    ColNameHeader=True
    Format=CSVDelimited
    DecimalSymbol=.
    MaxScanRows=1
    CharacterSet=ANSI
    Col1=X Double
    Col2=Y Float
    Col3=Z Float
    Col4=Popis Char Width 10

    Vzhledem k tomu ze jednou nastavis a pak uz jen pouzivas to neni az tak moc prace. A muzes si opravdu nastavit uplne vsechno a to pro kazdy soubor extra je-li jich vice  -vcetne symbolu meny, oddeslovace tisicu etc etc.

    MP
    • Označen jako odpověď Pavoucek úterý 17. března 2009 6:12
    pondělí 16. března 2009 18:40
    Moderátor
  • Super, dopsal jsem do schema.ini "DecimalSymbol=." a je to vyřešeno. Tohle jsem přesně potřeboval, takže to je asi vše a loučím se. Díky za rady
    úterý 17. března 2009 6:11
  • Slouzim lidu !

    MP
    úterý 17. března 2009 11:05
    Moderátor