2017-07-13 56 views
0
  1. 我能夠將文件加載到列表中,如下所示。

[ABC,1; 2; 3] [DEF,4; 5; 6]如何將分隔的CSV文件加載到Python中?

  • 然而,我需要它格式化像什麼如下所示。

    [ABC,1] [ABC,2] [ABC,3] [DEF,4] 等

  • 下面是我用於加載該文件的代碼:

    import csv 
    
    f = open('Sample.csv') 
    csv_f = csv.reader(f) 
    
    for row in csv_f: 
        print(row) 
    

    這裏的輸出:

    ['Description', 'Article #'] 
    ['Build a Better Breakfast: Buy 2 save $2 on fruit/nuts/Milk - Kids M/Raisin Bran, RK M , Mini Wheat M PLUS Pop Tarts 12 ct.', '62758;65926;855924;856013;856179;553818;28107;29601;65928;51415;745406;414680;872002;29599;25717;25719;29608;62773;700401;746727;746743;746701;705400;817833'] 
    ['Community Coffee 12oz Ground Roast Coffee', '1027151;1027153;1059063;1170982;1170983;1170984;1170986;1170987;1170988;1170989;1182424;1216634;1216667;1225228;1228111;1245664;1245666;1248330;1249099;1249100;1308483;1330732;1330744;1336906'] 
    ["Keurig Green Mountain Core 12CT - Flavors Include: Columbian, Breakfast Blend, Hazelnut, Dark Magic Extra Bold, Newman's Own Blnd, French Vanilla, Caribou Blnd, Nantucket, Caramel Vanilla Crm, Dark Magic Decaf, Half Caff, Tully's French Rst, Tully's Hawaiin Bln - Dc'd, Breakfast Decaf, Pumpkin Spice, Cinnamon Roll Cinnabon, Donut Shop Decaf, Donust Shop, French Vanilla Decaf, Krispy Cream 9 New), Coconut Mocha (New), Donut Shop Dark (New)", '15136;15137;15166;15167;15168;22392;22664;22784;31015;31017;31020;40948;40980;41238;48742;48754;48756;48777;99555;08300;99555;08588;99555;086577'] 
    ['Starbucks K-Cups 10ct & 12oz R&G Coffee', '50794;50796;26470;26475;26479;30067;30082;41007;41008;41022;41196;50795;49424;49421;7700;30070;49414;49416;149195;149237;161588;373787;373886;373902;374264;374298;431858'] 
    
    +1

    您需要在此處顯示您的代碼和示例數據。看起來你有一個分隔符的混合。 – roganjosh

    +0

    感謝您顯示一些代碼。我認爲問題不在於分隔符(您可以在'csv.reader'中指定分隔符,但默認爲逗號)。你想要的是自定義代碼IIUC。你將不得不做第二次分裂。給我一分鐘。 – roganjosh

    回答

    0

    從你的第一個問題,我認爲這是你正在尋找的輸出(雖然,開始「Keurig綠山...」的類別讓我不確定)。 CSV閱讀器在,分隔符上正確分隔,但您需要嵌套for循環以基於;定界符的持續保留產品編號的輔助拆分。

    csv_reader_output = [['Description', 'Article #'], 
    ['Build a Better Breakfast: Buy 2 save $2 on fruit/nuts/Milk - Kids M/Raisin Bran, RK M , Mini Wheat M PLUS Pop Tarts 12 ct.', '62758;65926;855924;856013;856179;553818;28107;29601;65928;51415;745406;414680;872002;29599;25717;25719;29608;62773;700401;746727;746743;746701;705400;817833'], 
    ['Community Coffee 12oz Ground Roast Coffee', '1027151;1027153;1059063;1170982;1170983;1170984;1170986;1170987;1170988;1170989;1182424;1216634;1216667;1225228;1228111;1245664;1245666;1248330;1249099;1249100;1308483;1330732;1330744;1336906'], 
    ["Keurig Green Mountain Core 12CT - Flavors Include: Columbian, Breakfast Blend, Hazelnut, Dark Magic Extra Bold, Newman's Own Blnd, French Vanilla, Caribou Blnd, Nantucket, Caramel Vanilla Crm, Dark Magic Decaf, Half Caff, Tully's French Rst, Tully's Hawaiin Bln - Dc'd, Breakfast Decaf, Pumpkin Spice, Cinnamon Roll Cinnabon, Donut Shop Decaf, Donust Shop, French Vanilla Decaf, Krispy Cream 9 New), Coconut Mocha (New), Donut Shop Dark (New)", '15136;15137;15166;15167;15168;22392;22664;22784;31015;31017;31020;40948;40980;41238;48742;48754;48756;48777;99555;08300;99555;08588;99555;086577'], 
    ['Starbucks K-Cups 10ct & 12oz R&G Coffee', '50794;50796;26470;26475;26479;30067;30082;41007;41008;41022;41196;50795;49424;49421;7700;30070;49414;49416;149195;149237;161588;373787;373886;373902;374264;374298;431858']] 
    
    new_list = [] 
    
    for row in csv_reader_output[1:]: # Avoid the title row 
        description = row[0] # Your ABC 
        for article in row[1].split(';'): # Splitting the article number 
         new_list.append([description, article]) 
    
    for item in new_list: 
        print(item) 
    
    相關問題