Breyta txt skrám í massavís og flytja inn í excel skjal.


Höfundur
Snorrmund
Of mikill frítími
Póstar: 1824
Skráði sig: Lau 04. Jan 2003 22:10
Reputation: 8
Hafðu samband:
Staða: Ótengdur

Breyta txt skrám í massavís og flytja inn í excel skjal.

Pósturaf Snorrmund » Fim 10. Okt 2013 01:57

Sælir, ég er með um hundrað txt skrár sem innihalda allar meira og minna sömu upplýsingar þeas sama uppsetning á upplýsingunum. Kemur semsagt dagsetning og tími svo eitt gildi sem verið er að logga, svo næsta.
Vesenið sem ég er að lenda í er að dagsetningin er sett fram sem "01:44:31 06-30-2013" Og þar sem að ég er að reyna að koma þessu öllu yfir í excel þá skilur hann ekki 06-30(30. júní) sem dagsetningu, hann skilur hinsvegar 07-01 sem sjöundi janúar. Ég var að spá hvort það væri ekki hægt að redda þessu þannig að víxla sjálfkrafa 10 og 11 staf við 13 og 14 staf í hverri línu.
Einnig eru gildi þarna sem verið er að logga sem eru tölur og það er ekki notuð komma heldur punktur, ég veit reyndar að ég get breytt stillingunni fyrir þetta í excel en það væri ekkert verra ef maður er að þessu á annað borð að víxla því.

Seinasta sem mig langaði til að gera þegar ég er búinn að koma dagsetningunum og gildunum yfir á rétt form er að flytja þetta allt inní eitt excel skjal. Ég er alveg handviss um að það sé hægt að gera þetta en ég er bara ekki alveg nógu viss hvernig er best að gera þetta sjálfvirkt.

Fyrirfram þakkir og ef þetta er alveg hrikalega óskiljanlegt þá get ég örugglega reynt að útskýra þetta betur! :)




bigggan
spjallið.is
Póstar: 452
Skráði sig: Fim 05. Maí 2011 17:43
Reputation: 34
Staða: Ótengdur

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Pósturaf bigggan » Fim 10. Okt 2013 02:20

það að excell ekki skilur dagsetning þá breyturu bara kassana i "text" inna properties.

til að flytja hlutirnir til excel veldu import/export. veldu þa .txt




Höfundur
Snorrmund
Of mikill frítími
Póstar: 1824
Skráði sig: Lau 04. Jan 2003 22:10
Reputation: 8
Hafðu samband:
Staða: Ótengdur

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Pósturaf Snorrmund » Fim 10. Okt 2013 02:54

Reyndar hjálpar það lýtið að láta celluna halda að þetta sé bara texti þar sem þá verður gildið sem cellan sýnir að "41312.0147106481" í staðinn fyrir eitthvað dagsetningarformat. Einnig væri ég meira til í að geta breytt þessu þannig að hægt væri að nota dagsetninguna úr logginu við framsetningu gagnanna. En annars þetta import/export sem þú talar um er það sami hlutur og að fara í Data flipan og velja "From text" þar ? Ef ég vel þann takka þá get ég aðeins valið eina skrá í einu ef að ég geri það. Í augnablikinu eru þetta rétt rúmlega hundrað skrár og bætist ein ný við á hverjum sólahring. Var aðallega að spá í að geta gert þetta sjálfvirkt þannig að ég gæti bara farið einusinni í mánuði og hlaðið niður öllum skránum og keyrt þær sjálfkrafa inn í excel og notað þær áfram þar. Það er ástæðan fyrir því að ég vill helst hafa einhverja leið sem mest sjálfvirk. Þakka annars fyrir svarið, en þú mátt kannski útskýra betur þennan import/export fídus sem þú talar um, ég finn hann amk ekki.



Skjámynd

KermitTheFrog
Kóngur
Póstar: 4273
Skráði sig: Mán 07. Júl 2008 23:32
Reputation: 67
Staða: Ótengdur

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Pósturaf KermitTheFrog » Fim 10. Okt 2013 07:12

Virðist vera ruglingur með US formatið. Man ekki alveg hvernig maður breytir því í EU. En þú getur kannski googlað það, þ.e. breyta stillingunum í excel.




bigggan
spjallið.is
Póstar: 452
Skráði sig: Fim 05. Maí 2011 17:43
Reputation: 34
Staða: Ótengdur

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Pósturaf bigggan » Fim 10. Okt 2013 12:06

import/export virkar bara å 1 og 1 txt skrá i einu held ég.

En þu getur notað makro til að gera þetta, herna er eitt makro ég fann á netinu:

Kóði: Velja allt

Option Explicit
 
Sub Import_All_Text_Files_2007()
     
    Dim nxt_row As Long
     
     'Change Path
    Const strPath As String = "C:\Test\"
    Dim strExtension As String
     
     'Stop Screen Flickering
    Application.ScreenUpdating = False
     
    ChDir strPath
     
     'Change extension
    strExtension = Dir(strPath & "*.txt")
     
    Do While strExtension <> ""
         
         'Adds File Name as title on next row
        Range("A65536").End(xlUp).Offset(1, 0).Value = strExtension
         
         'Sets Row Number for Data to Begin
        nxt_row = Range("A65536").End(xlUp).Offset(1, 0).Row
         
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;" & strPath & strExtension, Destination:=Range("$A$" & nxt_row))
            .Name = strExtension
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = True
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = True
            .TextFileSpaceDelimiter = True
            .TextFileOtherDelimiter = "="
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
         
        strExtension = Dir
    Loop
     
    Application.ScreenUpdating = True
     
End Sub


Þú setur bara inn hvar skrárnar þinar eru inn a þar sem stendur "C:\Test\"
Til þess að opna makro yttu á

1. Alt+F11
2. Insert -> Module
3. Paste
4. breyta staðsetningin "c:\test"
5. lokaaðu gluggan
6. Yttu á Alt+F8
7. veldu forritið "Import_All_Text_Files_2007"
8. ???
9. Profit

Mundu að profa forritið fyrst áður enn þu notar það á skrárnar þinar




Vaski
spjallið.is
Póstar: 405
Skráði sig: Mán 16. Apr 2007 15:11
Reputation: 12
Staðsetning: Reykjavík
Staða: Ótengdur

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Pósturaf Vaski » Fim 10. Okt 2013 13:18

er ekki bara betra að sameina textaskránar í eina og import síðan þeirri skrá inní excel?
í linux væri þetta eitthvern vegin svona (fer eftir nafnakerfinu sem þú notaðir hversu einfalt þetta er)

Kóði: Velja allt

cat filename*.txt > AllarSkrárnarInníEinni.txt

En það leystir náttúrlega ekki dagsetningarvandan þinn, en mikið djöfull getur verið leiðinlegt að vinna með dagsetningu milli forrita.




Höfundur
Snorrmund
Of mikill frítími
Póstar: 1824
Skráði sig: Lau 04. Jan 2003 22:10
Reputation: 8
Hafðu samband:
Staða: Ótengdur

Re: Breyta txt skrám í massavís og flytja inn í excel skjal.

Pósturaf Snorrmund » Fim 10. Okt 2013 21:09

Takk kærlega fyrir öll svörin, þegar að Vaski benti á "cat" þá datt mér í hug að nota bara type til að redda þessu. Gat þannig sameinað allar skrár í x mánuði yfir í skrá sem hét bara x-manudur.txt, gerði bara .bat skrá sem að gerði sér skrá fyrir hvern mánuð.
Síðan þegar að ég importaði einum og einum mánuði inn þá valdi ég að nota bæði tab og space til að skipta upp txt skjalinu þá komu tíminn og dagsetningin inn í mismunandi dálki. Þá gat ég valið að flytja dagsetninguna inn sem MM/DD og þar af leiðandi er þetta alltsaman farið að virka rétt, ekki alveg jafn mikil sjálfvirkni og ég vonaði, en þegar ég er búinn að liggja yfir macroinu sem að bigggan sendi inn þá getur maður kannski fiktað sig meira í gegnum þetta og gert þetta meira sjálfvirkt.

Takk kærlega fyrir öll svörin, ef það er einhver sem lumar á betri lausn þá má endilega henda því hér inn. :)