Поиск по блогу

суббота, 11 апреля 2015 г.

Сводим все три промежуточных файла в один 2014_all.csv

Здесь перехожу в папку с тремя файлами (2014.csv, 2014_2_3.txt, 2014_1.txt) /media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/ и пытаюсь все собрать в один файл.

Было бы логично собрать три файла вместе, однако

Не будем забывать про учебные цели. Важно не только сделать дело, но и навыки сформировать. ...Ээээ... Это я к тому, что все файлы должны быть с одинаковым количеством запятых... и их просто можно дописать штатными средствами Python. Однако, я поменял "сепараторы" (coma -> semicolon)... и ищу альтернативу "визуальным тестам", так что продолжим упражняться с Pandas

In [4]:
!ls '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/'
2014_1_info.txt  2014_2_3_info.txt  2014.csv
2014_1.txt  2014_2_3.txt     2014_info.txt

Пока работа представлятся мне очень муторной, наверное поэтому здесь разные расширения: 2014.csv, 2014_2_3.txt, 2014_1.txt Два последних файла распечатаны в конце поста.

Все должно без проблем загрузится в LataFrame

In [6]:
import os
import pandas as pd
In [19]:
# Path to dir with files Must end with traling slash '/'
DIRPATH = '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/'

# Insert my columns names in Dataframe objects
COLNAMES =['Brandt', '2014y', '2013y', '1413y', '2014m', '2013m', '1413m', 'Datem']
In [8]:
listdir = ['/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014_1.txt', 
           '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014_2_3.txt', 
           '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014.csv',]          
In [ ]:
Здесь у нас все проще, чем раньше, но другой разделитель... и строки заголовков 
In [10]:
#import pdb; pdb.set_trace()  #Если раскоментировать, то можно испоьзовать паузы    
pdall =  pd.DataFrame()
for csvfile in listdir:  
    pdtemp = pd.read_csv(csvfile, error_bad_lines=False, \
                         names=COLNAMES, na_values=['-','n/a'], \
                         sep=';', skiprows=1)
                           
    pdall = pd.concat([pdall, pdtemp], ignore_index=True)        

    #print (csvfile)                                           
    #print (pdtemp)                                            
print(pdall)                                                         
             Brandt  2014y  2013y  1413y  2014m  2013m  1413m      Datem
0              Lada      0      0    0.0  23647  30037  -21.0  31-1-2014
1          Renault*      0      0    0.0  12894  14741  -13.0  31-1-2014
2               KIA      0      0    0.0  11199  11059    1.0  31-1-2014
3           Nissan*      0      0    0.0  11051   8925   24.0  31-1-2014
4          Hyundai*      0      0    0.0  11044  11306   -2.0  31-1-2014
5         Chevrolet      0      0    0.0   9420   9542   -1.0  31-1-2014
6                VW      0      0    0.0   8599   9968  -14.0  31-1-2014
7           Toyota*      0      0    0.0   8319   6860   21.0  31-1-2014
8        Mitsubishi      0      0    0.0   5007   4020   25.0  31-1-2014
9             Škoda      0      0    0.0   4744   4623    3.0  31-1-2014
10             Opel      0      0    0.0   4281   5211  -18.0  31-1-2014
11            Ford*      0      0    0.0   4250   6364  -33.0  31-1-2014
12           Daewoo      0      0    0.0   3718   5693  -35.0  31-1-2014
13         GAZ LCV*      0      0    0.0   3260   4108  -21.0  31-1-2014
14            Mazda      0      0    0.0   2848   2071   38.0  31-1-2014
15    Mercedes-Benz      0      0    0.0   2710   1902   42.0  31-1-2014
16              BMW      0      0    0.0   2540   2171   17.0  31-1-2014
17             UAZ*      0      0    0.0   2201   2906  -24.0  31-1-2014
18            Honda      0      0    0.0   1929   1209   60.0  31-1-2014
19         Peugeot*      0      0    0.0   1843   2338  -21.0  31-1-2014
20         Citroën*      0      0    0.0   1720   1581    9.0  31-1-2014
21             Audi      0      0    0.0   1623   1725   -6.0  31-1-2014
22           Suzuki      0      0    0.0   1482   1498   -1.0  31-1-2014
23        SsangYong      0      0    0.0   1330   1853  -28.0  31-1-2014
24            Geely      0      0    0.0   1158    817   42.0  31-1-2014
25            Chery      0      0    0.0   1137   1031   10.0  31-1-2014
26            Lifan      0      0    0.0   1118    843   33.0  31-1-2014
27          VW NFZ*      0      0    0.0    949    700   36.0  31-1-2014
28           Subaru      0      0    0.0    938    864    9.0  31-1-2014
29       Great Wall      0      0    0.0    932   1280  -27.0  31-1-2014
..              ...    ...    ...    ...    ...    ...    ...        ...
707            Jeep    678    598   13.0   5768   3438   68.0  30-9-2014
708        Infiniti    639    768  -17.0   5921   6443   -8.0  30-9-2014
709    Datsun******    520    NaN    NaN    520    NaN    NaN  30-9-2014
710         Porsche    232    294  -21.0   3079   2726   13.0  30-9-2014
711          Jaguar    138    157  -12.0   1246   1247    0.0  30-9-2014
712         Changan    120    NaN    NaN    785    NaN    NaN  30-9-2014
713           Haima    113     50  126.0    606    237  156.0  30-9-2014
714  Brilliance****    107    NaN    NaN    385    NaN    NaN  30-9-2014
715            MINI    104    240  -57.0   1168   2053  -43.0  30-9-2014
716            SEAT    101    276  -63.0   1246   2939  -58.0  30-9-2014
717        Cadillac    101    101    0.0    949   1124  -16.0  30-9-2014
718          Isuzu*     88     33  167.0    396    131  202.0  30-9-2014
719            BAW*     85    118  -28.0    873   1266  -31.0  30-9-2014
720        JAC*****     64    NaN    NaN    298    NaN    NaN  30-9-2014
721         Acura**     64    NaN    NaN    551    NaN    NaN  30-9-2014
722           smart     42     28   50.0    260    146   78.0  30-9-2014
723          TagAZ*     15     28  -46.0    125    339  -63.0  30-9-2014
724      Alfa Romeo      9    NaN    NaN     63    NaN    NaN  30-9-2014
725        Chrysler      5      8  -38.0     91    141  -35.0  30-9-2014
726          Luxgen      2    NaN    NaN     81    NaN    NaN  30-9-2014
727          Vortex      0      5    NaN      0    928    NaN  30-9-2014
728          Foton*      0      0    0.0     59      6  883.0  30-9-2014
729             ZAZ      0    102    NaN    481   2366  -80.0  30-9-2014
730             BYD      0      0    0.0      5    102  -95.0  30-9-2014
731          Bogdan    NaN    125    NaN     92   1803  -95.0  30-9-2014
732    Dodge*******    NaN     13    NaN     26    174  -85.0  30-9-2014
733             Izh      0     37    NaN     19    647  -97.0  30-9-2014
734             FAW    NaN    330    NaN   2164   3226  -33.0  30-9-2014
735            cars   4336   4264    1.7  36433  32043   13.7  30-9-2014
736            vans   1028    480  114.2   5617   3422   64.1  30-9-2014

[737 rows x 8 columns]
In [11]:
pdall.info(verbose=True, buf=None, max_cols=None, memory_usage=True, null_counts=True)
<class 'pandas.core.frame.DataFrame'>
Int64Index: 737 entries, 0 to 736
Data columns (total 8 columns):
Brandt    737 non-null object
2014y     722 non-null float64
2013y     678 non-null float64
1413y     625 non-null float64
2014m     736 non-null float64
2013m     677 non-null float64
1413m     663 non-null float64
Datem     737 non-null object
dtypes: float64(6), object(2)
memory usage: 46.1+ KB

Сохраним файл в ту же папку

In [22]:
%%file /media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014_all_info.txt
resources folder: /media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv

concatent sourcefiles: 2
'/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014_1.txt', 
'/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014_2_3.txt', 
'/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014.csv'

headers:   COLNAMES =['Brandt', '2014y', '2013y', '1413y', '2014m', '2013m', '1413m', 'Datem'] 
results:   newpath = '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014_all.csv'   
help:      [Первый рабочий пример конкатенции таблиц с преобразованием форматов столбцов object -> float]
           http://pythonr.blogspot.ru/2015/04/object-float.html
weblog:    http://pythonr.blogspot.com/2015/04/2014allcsv.html
Writing /media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014_all_info.txt
In [20]:
newpath = DIRPATH
print newpath
print COLNAMES
/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/
['Brandt', '2014y', '2013y', '1413y', '2014m', '2013m', '1413m', 'Datem']
In [21]:
pdall.to_csv(newpath + '2014_all.csv', 
        sep=';', 
        #float_format='%.8f',
        columns=COLNAMES,
        index=False)

Приложение. Распечатки двух файлов 2014_2_3.txt, 2014_1.txt

In [ ]:
# %load '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014_1.txt'
Brandt;2014y;2013y;1413y;2014m;2013m;1413m;Datem
Lada;0;0;0;23647;30037.0;-21.0;31-1-2014
Renault*;0;0;0;12894;14741.0;-13.0;31-1-2014
KIA;0;0;0;11199;11059.0;1.0;31-1-2014
Nissan*;0;0;0;11051;8925.0;24.0;31-1-2014
Hyundai*;0;0;0;11044;11306.0;-2.0;31-1-2014
Chevrolet;0;0;0;9420;9542.0;-1.0;31-1-2014
VW;0;0;0;8599;9968.0;-14.0;31-1-2014
Toyota*;0;0;0;8319;6860.0;21.0;31-1-2014
Mitsubishi;0;0;0;5007;4020.0;25.0;31-1-2014
Škoda;0;0;0;4744;4623.0;3.0;31-1-2014
Opel;0;0;0;4281;5211.0;-18.0;31-1-2014
Ford*;0;0;0;4250;6364.0;-33.0;31-1-2014
Daewoo;0;0;0;3718;5693.0;-35.0;31-1-2014
GAZ LCV*;0;0;0;3260;4108.0;-21.0;31-1-2014
Mazda;0;0;0;2848;2071.0;38.0;31-1-2014
Mercedes-Benz;0;0;0;2710;1902.0;42.0;31-1-2014
BMW;0;0;0;2540;2171.0;17.0;31-1-2014
UAZ*;0;0;0;2201;2906.0;-24.0;31-1-2014
Honda;0;0;0;1929;1209.0;60.0;31-1-2014
Peugeot*;0;0;0;1843;2338.0;-21.0;31-1-2014
Citroën*;0;0;0;1720;1581.0;9.0;31-1-2014
Audi;0;0;0;1623;1725.0;-6.0;31-1-2014
Suzuki;0;0;0;1482;1498.0;-1.0;31-1-2014
SsangYong;0;0;0;1330;1853.0;-28.0;31-1-2014
Geely;0;0;0;1158;817.0;42.0;31-1-2014
Chery;0;0;0;1137;1031.0;10.0;31-1-2014
Lifan;0;0;0;1118;843.0;33.0;31-1-2014
VW NFZ*;0;0;0;949;700.0;36.0;31-1-2014
Subaru;0;0;0;938;864.0;9.0;31-1-2014
Great Wall;0;0;0;932;1280.0;-27.0;31-1-2014
Land Rover;0;0;0;922;815.0;13.0;31-1-2014
Lexus;0;0;0;707;778.0;-9.0;31-1-2014
Infiniti;0;0;0;471;625.0;-25.0;31-1-2014
Jeep;0;0;0;420;146.0;188.0;31-1-2014
FIAT*;0;0;0;407;291.0;40.0;31-1-2014
Volvo;0;0;0;402;337.0;19.0;31-1-2014
FAW*;0;0;0;302;68.0;344.0;31-1-2014
Porsche;0;0;0;126;176.0;-28.0;31-1-2014
BAW*;0;0;0;113;128.0;-12.0;31-1-2014
ZAZ;0;0;0;101;203.0;-50.0;31-1-2014
Jaguar;0;0;0;94;70.0;34.0;31-1-2014
MINI;0;0;0;82;140.0;-41.0;31-1-2014
Cadillac;0;0;0;80;88.0;-9.0;31-1-2014
SEAT;0;0;0;72;201.0;-64.0;31-1-2014
Bogdan;0;0;0;56;261.0;-79.0;31-1-2014
Isuzu*;0;0;0;28;4.0;600.0;31-1-2014
Haima;0;0;0;20;6.0;233.0;31-1-2014
smart;0;0;0;17;3.0;467.0;31-1-2014
Luxgen;0;0;0;12;;;31-1-2014
Izh;0;0;0;10;89.0;-89.0;31-1-2014
Chrysler;0;0;0;7;12.0;-42.0;31-1-2014
TagAZ*;0;0;0;6;33.0;-82.0;31-1-2014
Foton*;0;0;0;2;4.0;-50.0;31-1-2014
Dodge;0;0;0;2;9.0;-78.0;31-1-2014
Vortex;0;0;0;0;81.0;;31-1-2014
BYD;0;0;0;0;69.0;;31-1-2014
In [ ]:
# %load '/media/MYLINUXLIVE/Documents/Xpdf/aerbu_2014_all_csv_new/2014_2_3.txt'
Brandt;2014y;2013y;1413y;2014m;2013m;1413m;Datem
Lada;54543;66947.0;-19.0;30896;36910.0;-16.0;28-2-2014
Renault*;29615;30040.0;-1.0;16721;15299.0;9.0;28-2-2014
Nissan*;28209;22051.0;28.0;17158;13126.0;31.0;28-2-2014
Hyundai*;24945;24795.0;1.0;13901;13489.0;3.0;28-2-2014
KIA;24502;25153.0;-3.0;13303;14094.0;-6.0;28-2-2014
Chevrolet;21868;22565.0;-3.0;12448;13023.0;-4.0;28-2-2014
Toyota*;20211;15197.0;33.0;11892;8337.0;43.0;28-2-2014
VW;19989;22468.0;-11.0;11390;12500.0;-9.0;28-2-2014
Mitsubishi;11824;10021.0;18.0;6817;6001.0;14.0;28-2-2014
Škoda;11128;10946.0;2.0;6384;6323.0;1.0;28-2-2014
Opel;10891;12385.0;-12.0;6610;7174.0;-8.0;28-2-2014
Ford*;10556;13415.0;-21.0;6306;7051.0;-11.0;28-2-2014
Daewoo;8254;12490.0;-34.0;4536;6797.0;-33.0;28-2-2014
GAZ LCV*;7787;10154.0;-23.0;4527;6046.0;-25.0;28-2-2014
Mazda;6747;5513.0;22.0;3899;3442.0;13.0;28-2-2014
Mercedes-Benz;6230;4957.0;26.0;3520;3055.0;15.0;28-2-2014
BMW;5896;5256.0;12.0;3356;3085.0;9.0;28-2-2014
UAZ*;5104;7075.0;-28.0;2903;4169.0;-30.0;28-2-2014
Audi;4528;4525.0;0.0;2905;2800.0;4.0;28-2-2014
Honda;4413;2824.0;56.0;2484;1615.0;54.0;28-2-2014
Peugeot*;4197;5241.0;-20.0;2354;2903.0;-19.0;28-2-2014
Citroёn*;3912;3795.0;3.0;2192;2214.0;-1.0;28-2-2014
SsangYong;3337;4437.0;-25.0;2007;2584.0;-22.0;28-2-2014
Suzuki;3189;3699.0;-14.0;1707;2201.0;-22.0;28-2-2014
Chery;2846;2552.0;12.0;1709;1521.0;12.0;28-2-2014
Geely;2845;2323.0;22.0;1687;1506.0;12.0;28-2-2014
Land Rover;2789;2326.0;20.0;1867;1511.0;24.0;28-2-2014
Lifan;2666;2297.0;16.0;1548;1454.0;6.0;28-2-2014
Great Wall;2334;2845.0;-18.0;1402;1565.0;-10.0;28-2-2014
Subaru;2312;2221.0;4.0;1374;1357.0;1.0;28-2-2014
VW vans*;2007;2000.0;0.0;1058;1300.0;-19.0;28-2-2014
Volvo;1545;1396.0;11.0;1143;1059.0;8.0;28-2-2014
Lexus;1421;1644.0;-14.0;714;866.0;-18.0;28-2-2014
Infiniti;1304;1551.0;-16.0;833;926.0;-10.0;28-2-2014
Jeep;1029;396.0;160.0;609;250.0;144.0;28-2-2014
FIAT*;988;680.0;45.0;581;389.0;49.0;28-2-2014
Mercedes-Benz Vans*;771;473.0;63.0;459;279.0;65.0;28-2-2014
FAW*;536;275.0;95.0;234;207.0;13.0;28-2-2014
Porsche;300;439.0;-32.0;174;263.0;-34.0;28-2-2014
Jaguar;251;192.0;31.0;157;122.0;29.0;28-2-2014
BAW*;231;288.0;-20.0;118;160.0;-26.0;28-2-2014
MINI;230;316.0;-27.0;148;176.0;-16.0;28-2-2014
ZAZ;214;556.0;-62.0;113;353.0;-68.0;28-2-2014
SEAT;184;502.0;-63.0;112;301.0;-63.0;28-2-2014
Cadillac;177;224.0;-21.0;97;136.0;-29.0;28-2-2014
Bogdan;70;562.0;-88.0;14;301.0;-95.0;28-2-2014
Haima;41;76.0;-46.0;21;70.0;-70.0;28-2-2014
smart;37;12.0;208.0;20;9.0;122.0;28-2-2014
Isuzu*;33;11.0;200.0;5;7.0;-29.0;28-2-2014
TagAZ*;28;43.0;-35.0;22;10.0;120.0;28-2-2014
Luxgen;27;;;15;;;28-2-2014
Chrysler;21;23.0;-9.0;14;11.0;27.0;28-2-2014
Izh;15;158.0;-91.0;5;69.0;-93.0;28-2-2014
Dodge;6;28.0;-79.0;4;19.0;-79.0;28-2-2014
Foton*;5;6.0;-17.0;3;2.0;50.0;28-2-2014
BYD;0;94.0;;0;25.0;;28-2-2014
Vortex;0;282.0;;0;201.0;;28-2-2014
Lada;91603;107427.0;-15.0;37060;40480.0;-8.0;31-1-2014
Renault*;46252;48030.0;-4.0;16637;17990.0;-8.0;31-1-2014
Nissan*;45744;35916.0;27.0;17535;13865.0;26.0;31-1-2014
KIA;42289;41724.0;1.0;17787;16571.0;7.0;31-1-2014
Hyundai*;41307;40714.0;1.0;16362;15919.0;3.0;31-1-2014
Chevrolet;35307;36406.0;-3.0;13439;13841.0;-3.0;31-1-2014
Toyota*;35057;29332.0;20.0;14846;14135.0;5.0;31-1-2014
VW;34331;35274.0;-3.0;14342;12806.0;12.0;31-1-2014
Mitsubishi;21842;19140.0;14.0;10018;9119.0;10.0;31-1-2014
Škoda;18892;18619.0;1.0;7764;7673.0;1.0;31-1-2014
Opel;18000;19832.0;-9.0;7109;7447.0;-5.0;31-1-2014
Ford*;17373;23654.0;-27.0;6817;10239.0;-33.0;31-1-2014
GAZ LCV*;14044;16983.0;-17.0;6257;6829.0;-8.0;31-1-2014
Daewoo;12858;15898.0;-19.0;4604;3408.0;35.0;31-1-2014
Mazda;11610;10625.0;9.0;4863;5112.0;-5.0;31-1-2014
Mercedes-Benz;10384;8595.0;21.0;4154;3638.0;14.0;31-1-2014
BMW;9700;8818.0;10.0;3804;3562.0;7.0;31-1-2014
UAZ*;8466;11351.0;-25.0;3362;4276.0;-21.0;31-1-2014
Audi;8286;8278.0;0.0;3758;3753.0;0.0;31-1-2014
Honda;6789;4948.0;37.0;2376;2124.0;12.0;31-1-2014
Peugeot*;6777;8307.0;-18.0;2580;3066.0;-16.0;31-1-2014
Citroёn*;6239;5947.0;5.0;2327;2152.0;8.0;31-1-2014
SsangYong;5733;7103.0;-19.0;2396;2666.0;-10.0;31-1-2014
Suzuki;5130;6033.0;-15.0;1941;2334.0;-17.0;31-1-2014
Chery;4951;4157.0;19.0;2105;1605.0;31.0;31-1-2014
Land Rover;4903;4500.0;9.0;2114;2174.0;-3.0;31-1-2014
Geely;4851;4261.0;14.0;2006;1938.0;4.0;31-1-2014
Lifan;4605;4321.0;7.0;1939;2024.0;-4.0;31-1-2014
Great Wall;3860;4685.0;-18.0;1526;1840.0;-17.0;31-1-2014
Subaru;3723;4009.0;-7.0;1411;1788.0;-21.0;31-1-2014
Lexus;3375;3212.0;5.0;1954;1568.0;25.0;31-1-2014
VW vans*;3281;3466.0;-5.0;1274;1466.0;-13.0;31-1-2014
Volvo;3242;2908.0;11.0;1697;1512.0;12.0;31-1-2014
Infiniti;2338;2819.0;-17.0;1034;1268.0;-18.0;31-1-2014
Jeep;1857;845.0;120.0;828;449.0;84.0;31-1-2014
FIAT*;1755;1244.0;41.0;767;564.0;36.0;31-1-2014
Mercedes-Benz Vans*;1510;835.0;81.0;739;362.0;104.0;31-1-2014
FAW*;787;506.0;56.0;251;231.0;9.0;31-1-2014
Porsche;710;777.0;-9.0;410;338.0;21.0;31-1-2014
Jaguar;406;321.0;26.0;155;129.0;20.0;31-1-2014
MINI;400;559.0;-28.0;170;243.0;-30.0;31-1-2014
BAW*;354;483.0;-27.0;123;195.0;-37.0;31-1-2014
Cadillac;339;378.0;-10.0;162;154.0;5.0;31-1-2014
SEAT;309;860.0;-64.0;125;358.0;-65.0;31-1-2014
ZAZ;296;930.0;-68.0;82;374.0;-78.0;31-1-2014
Changan3;195;;;145;;;31-1-2014
Haima;90;83.0;8.0;49;7.0;600.0;31-1-2014
smart;72;24.0;200.0;35;12.0;192.0;31-1-2014
Bogdan;92;777.0;-88.0;22;215.0;-90.0;31-1-2014
Isuzu*;56;23.0;143.0;23;12.0;92.0;31-1-2014
Luxgen;42;;;15;;;31-1-2014
TagAZ*;38;64.0;-41.0;10;21.0;-52.0;31-1-2014
Chrysler;36;39.0;-8.0;15;16.0;-6.0;31-1-2014
Izh;18;251.0;-93.0;3;93.0;-97.0;31-1-2014
Dodge;9;51.0;-82.0;3;23.0;-87.0;31-1-2014
Foton*;7;6.0;17.0;2;0.0;;31-1-2014
Alfa Romeo2;3;;;3;;;31-1-2014
BYD;0;100.0;;0;6.0;;31-1-2014
Vortex;0;517.0;;0;235.0;;31-1-2014
In [ ]:
 


Посты чуть ниже также могут вас заинтересовать

Комментариев нет:

Отправить комментарий