Як падзяліць на два элемента ў радку?

Выкарыстанне .read() , каб прачытаць файл, як бы я падзяліў на два аб'екты адначасова? Я спрабую падзяліць на коскай, а «\ п» адначасова, але калі я падзяліць на коскай першы, ён ператварае свой радок у спіс, у якім я не магу падзяліць зноў.

Вось радок, я спрабую падзяліць:

<�Код> 'ЗША, агульная колькасць балаў, Critical Reading, матэматыка, ліст, удзел (%) \ nWashington, 1564,524,532,508,41.2000 \ nNewHampshire, 1554,520,524,510,64.0000 \ nMassachusetts, 1547,512,526,509,72.1000 \ nOregon, 1546,523,524,499 , 37,1000 \ nVermont, 1546,519,512,506,64.0000 \ nArizona, 1544,519,525,500,22.4000 \ nConnecticut, 1536,509,514,513,71.2000 \ nAlaska, 1524,518,515,491,32.7000 \ nVirginia, 1521,512,512,497,56.0000 \ nCalifornia, 1517,501,516,500,37.5000 \ nNewJersey, 1506,495,514,497,69.0000 \ nMaryland, 1502,501,506,495,56.7000 \ nNorthCarolina, 1485,497,511,477,45.5000 \ nRhodeIsland, 1477,494,495,488,60.8000 \ nIndiana, 1476,494,505,477,52.0000 \ nFlorida, 1473,496,498,479,44.7000 \ nPennsylvania , 1473,492,501,480,62.3000 \ nNevada, 1470,496,501,473,25.9000 \ nDelaware, 1469,493,495,481,59.2000 \ nTexas, 1462,484,505,473,41.5000 \ nNewYork, 1461,484,499,478,59.6000 \ nHawaii, 1458,483,505,470,47.1000 \ nGeorgia, 1453 , 488,490,475,46.5000 \ nSouthCarolina, 1447,484,495,468,40.7000 \ nMaine, 1389,468,467,454,87.1000 \ nIowa, 1798,603,613,582,2. 7000 \ nMinnesota, 1781,594,607,580,6.0000 \ nWisconsin, 1778,595,604,579,3.8000 \ nMissouri, 1768,593,595,580,3.6000 \ nMichigan, 1766,585,605,576,3.8000 \ nSouthDakota, 1766,592,603,571,2.0000 \ nIllinois, 1762,585,600,577,4.6700 \ nKansas, 1752,590,595,567,4.7000 \ nNebraska, 1746,585,593,568,3.9000 \ nNorthDakota, 1733,580,594,559,3.4000 \ nKentucky, 1713,575,575,563,5.0000 \ nTennessee, 1712,576,571,565,6.4000 \ nColorado, 1695,568,572,555,14.1000 \ nArkansas, 1684,566,566,552,3.5000 \ nOklahoma, 1684,569,568,547,3.8000 \ nWyoming, 1683,570,567,546,3.6000 \ nUtah, 1674,568,559,547,4.5000 \ nMississippi, 1666,566,548,552,2.2000 \ nLouisiana, 1652,555,550,547,4.0000 \ nAlabama, 1650, 556,550,544,5.4000 \ nNewMexico, 1636,553,549,534,7.1000 \ nOhio, 1609,538,548,522,17.2000 \ nIdaho, 1601,543,541,517,14.6000 \ nMontana, 1593,538,538,517,20.0000 \ nWest Вірджынія, 1522,515,507,500,13.2000 \ п '</код >

1
Ваш ўваходных файл выглядае шмат, як CSV файл, так што гэта можа быць найпростыя проста выкарыстоўваць Python з CSV </а > модуль.
дададзена аўтар Aya, крыніца

6 адказы

Вы можаце выкарыстоўваць спіс разуменне:

>>> strs = 'States, Total Score, Critical Reading, Mathematics, Writing, Participation (%)\nWashington,1564,524,532,508,41.2000\nNewHampshire,1554,520,524,510,64.0000\nMassachusetts,1547,512,526,509,72.1000\nOregon,1546,523,524,499,37.1000\nVermont,1546,519,512,506,64.0000\nArizona,1544,519,525,500,22.4000\nConnecticut,1536,509,514,513,71.2000\nAlaska,1524,518,515,491,32.7000\nVirginia,1521,512,512,497,56.0000\nCalifornia,1517,501,516,500,37.5000\nNewJersey,1506,495,514,497,69.0000\nMaryland,1502,501,506,495,56.7000\nNorthCarolina,1485,497,511,477,45.5000\nRhodeIsland,1477,494,495,488,60.8000\nIndiana,1476,494,505,477,52.0000\nFlorida,1473,496,498,479,44.7000\nPennsylvania,1473,492,501,480,62.3000\nNevada,1470,496,501,473,25.9000\nDelaware,1469,493,495,481,59.2000\nTexas,1462,484,505,473,41.5000\nNewYork,1461,484,499,478,59.6000\nHawaii,1458,483,505,470,47.1000\nGeorgia,1453,488,490,475,46.5000\nSouthCarolina,1447,484,495,468,40.7000\nMaine,1389,468,467,454,87.1000\nIowa,1798,603,613,582,2.7000\nMinnesota,1781,594,607,580,6.0000\nWisconsin,1778,595,604,579,3.8000\nMissouri,1768,593,595,580,3.6000\nMichigan,1766,585,605,576,3.8000\nSouthDakota,1766,592,603,571,2.0000\nIllinois,1762,585,600,577,4.6700\nKansas,1752,590,595,567,4.7000\nNebraska,1746,585,593,568,3.9000\nNorthDakota,1733,580,594,559,3.4000\nKentucky,1713,575,575,563,5.0000\nTennessee,1712,576,571,565,6.4000\nColorado,1695,568,572,555,14.1000\nArkansas,1684,566,566,552,3.5000\nOklahoma,1684,569,568,547,3.8000\nWyoming,1683,570,567,546,3.6000\nUtah,1674,568,559,547,4.5000\nMississippi,1666,566,548,552,2.2000\nLouisiana,1652,555,550,547,4.0000\nAlabama,1650,556,550,544,5.4000\nNewMexico,1636,553,549,534,7.1000\nOhio,1609,538,548,522,17.2000\nIdaho,1601,543,541,517,14.6000\nMontana,1593,538,538,517,20.0000\nWest Virginia,1522,515,507,500,13.2000\n'
>>> [ y for x in strs.splitlines() for y in x.split(",")]
['States', ' Total Score', ' Critical Reading', ' Mathematics', ' Writing', ' Participation (%)', 'Washington', '1564', '524', '532', '508', '41.2000', 'NewHampshire', '1554', '520', '524', '510', '64.0000', 'Massachusetts', '1547', '512', '526', '509', '72.1000', 'Oregon', '1546', '523', '524', '499', '37.1000', 'Vermont', '1546', '519', '512', '506', '64.0000', 'Arizona', '1544', '519', '525', '500', '22.4000', 'Connecticut', '1536', '509', '514', '513', '71.2000', 'Alaska', '1524', '518', '515', '491', '32.7000', 'Virginia', '1521', '512', '512', '497', '56.0000', 'California', '1517', '501', '516', '500', '37.5000', 'NewJersey', '1506', '495', '514', '497', '69.0000', 'Maryland', '1502', '501', '506', '495', '56.7000', 'NorthCarolina', '1485', '497', '511', '477', '45.5000', 'RhodeIsland', '1477', '494', '495', '488', '60.8000', 'Indiana', '1476', '494', '505', '477', '52.0000', 'Florida', '1473', '496', '498', '479', '44.7000', 'Pennsylvania', '1473', '492', '501', '480', '62.3000', 'Nevada', '1470', '496', '501', '473', '25.9000', 'Delaware', '1469', '493', '495', '481', '59.2000', 'Texas', '1462', '484', '505', '473', '41.5000', 'NewYork', '1461', '484', '499', '478', '59.6000', 'Hawaii', '1458', '483', '505', '470', '47.1000', 'Georgia', '1453', '488', '490', '475', '46.5000', 'SouthCarolina', '1447', '484', '495', '468', '40.7000', 'Maine', '1389', '468', '467', '454', '87.1000', 'Iowa', '1798', '603', '613', '582', '2.7000', 'Minnesota', '1781', '594', '607', '580', '6.0000', 'Wisconsin', '1778', '595', '604', '579', '3.8000', 'Missouri', '1768', '593', '595', '580', '3.6000', 'Michigan', '1766', '585', '605', '576', '3.8000', 'SouthDakota', '1766', '592', '603', '571', '2.0000', 'Illinois', '1762', '585', '600', '577', '4.6700', 'Kansas', '1752', '590', '595', '567', '4.7000', 'Nebraska', '1746', '585', '593', '568', '3.9000', 'NorthDakota', '1733', '580', '594', '559', '3.4000', 'Kentucky', '1713', '575', '575', '563', '5.0000', 'Tennessee', '1712', '576', '571', '565', '6.4000', 'Colorado', '1695', '568', '572', '555', '14.1000', 'Arkansas', '1684', '566', '566', '552', '3.5000', 'Oklahoma', '1684', '569', '568', '547', '3.8000', 'Wyoming', '1683', '570', '567', '546', '3.6000', 'Utah', '1674', '568', '559', '547', '4.5000', 'Mississippi', '1666', '566', '548', '552', '2.2000', 'Louisiana', '1652', '555', '550', '547', '4.0000', 'Alabama', '1650', '556', '550', '544', '5.4000', 'NewMexico', '1636', '553', '549', '534', '7.1000', 'Ohio', '1609', '538', '548', '522', '17.2000', 'Idaho', '1601', '543', '541', '517', '14.6000', 'Montana', '1593', '538', '538', '517', '20.0000', 'West Virginia', '1522', '515', '507', '500', '13.2000']

Калі вы хочаце, спіс спісаў, якія змяшчаюць кожную лінію падзелу на , :

>>> [x.split(",") for x in strs.splitlines()]
[['States', ' Total Score', ' Critical Reading', ' Mathematics', ' Writing', ' Participation (%)'], ['Washington', '1564', '524', '532', '508', '41.2000'], ['NewHampshire', '1554', '520', '524', '510', '64.0000'], ['Massachusetts', '1547', '512', '526', '509', '72.1000'], ['Oregon', '1546', '523', '524', '499', '37.1000'], ['Vermont', '1546', '519', '512', '506', '64.0000'], ['Arizona', '1544', '519', '525', '500', '22.4000'], ['Connecticut', '1536', '509', '514', '513', '71.2000'], ['Alaska', '1524', '518', '515', '491', '32.7000'], ['Virginia', '1521', '512', '512', '497', '56.0000'], ['California', '1517', '501', '516', '500', '37.5000'], ['NewJersey', '1506', '495', '514', '497', '69.0000'], ['Maryland', '1502', '501', '506', '495', '56.7000'], ['NorthCarolina', '1485', '497', '511', '477', '45.5000'], ['RhodeIsland', '1477', '494', '495', '488', '60.8000'], ['Indiana', '1476', '494', '505', '477', '52.0000'], ['Florida', '1473', '496', '498', '479', '44.7000'], ['Pennsylvania', '1473', '492', '501', '480', '62.3000'], ['Nevada', '1470', '496', '501', '473', '25.9000'], ['Delaware', '1469', '493', '495', '481', '59.2000'], ['Texas', '1462', '484', '505', '473', '41.5000'], ['NewYork', '1461', '484', '499', '478', '59.6000'], ['Hawaii', '1458', '483', '505', '470', '47.1000'], ['Georgia', '1453', '488', '490', '475', '46.5000'], ['SouthCarolina', '1447', '484', '495', '468', '40.7000'], ['Maine', '1389', '468', '467', '454', '87.1000'], ['Iowa', '1798', '603', '613', '582', '2.7000'], ['Minnesota', '1781', '594', '607', '580', '6.0000'], ['Wisconsin', '1778', '595', '604', '579', '3.8000'], ['Missouri', '1768', '593', '595', '580', '3.6000'], ['Michigan', '1766', '585', '605', '576', '3.8000'], ['SouthDakota', '1766', '592', '603', '571', '2.0000'], ['Illinois', '1762', '585', '600', '577', '4.6700'], ['Kansas', '1752', '590', '595', '567', '4.7000'], ['Nebraska', '1746', '585', '593', '568', '3.9000'], ['NorthDakota', '1733', '580', '594', '559', '3.4000'], ['Kentucky', '1713', '575', '575', '563', '5.0000'], ['Tennessee', '1712', '576', '571', '565', '6.4000'], ['Colorado', '1695', '568', '572', '555', '14.1000'], ['Arkansas', '1684', '566', '566', '552', '3.5000'], ['Oklahoma', '1684', '569', '568', '547', '3.8000'], ['Wyoming', '1683', '570', '567', '546', '3.6000'], ['Utah', '1674', '568', '559', '547', '4.5000'], ['Mississippi', '1666', '566', '548', '552', '2.2000'], ['Louisiana', '1652', '555', '550', '547', '4.0000'], ['Alabama', '1650', '556', '550', '544', '5.4000'], ['NewMexico', '1636', '553', '549', '534', '7.1000'], ['Ohio', '1609', '538', '548', '522', '17.2000'], ['Idaho', '1601', '543', '541', '517', '14.6000'], ['Montana', '1593', '538', '538', '517', '20.0000'], ['West Virginia', '1522', '515', '507', '500', '13.2000']]

Замест таго каб генераваць ўвесь спіс адразу можна выкарыстоўваць itertools.chain , каб атрымаць элементы ляніва (ці нават лепш, калі вы ітэрацыю па адным радку адразу, аддаюць перавагу @ рашэння Мартейн Пітэрс у гэтым выпадку):

>>> from itertools import chain
>>> for elem in chain(*(x.split(",") for x in strs.splitlines())):
...     print elem
...     
States
 Total Score
 Critical Reading
 Mathematics
 Writing
 Participation (%)
Washington
...
4
дададзена
Можа быць, я не зразумеў правільна, але ОП, здаецца, не патрэбны плоскі спіс ...
дададзена аўтар JBernardo, крыніца
@BrianLee то гэта адзін правільны адказ. +1
дададзена аўтар JBernardo, крыніца
@BrianLee Мой адказ ахоплівае абодва выпадку.
дададзена аўтар Ashwini Chaudhary, крыніца
У прынцыпе, я проста хацеў, каб вярнуць ўсю радок з усімі элементамі расшчапляюцца ў радкі і коскі; усе \ п выдаляюцца і коскі таму спіс будзе выглядаць прыкладна так: [ «States», «Агульны бал», «крытычнага чытання», і г.д.], а затым для любых выпадкаў, калі гэта выглядала так: [1524.518.515.491, 32,7000 \ nVirginia] я змог бы вярнуць спіс, які выглядаў так: [ '1524', '518', '515', '491', '32 0,7000 ',' Вірджынія '].
дададзена аўтар Brian Lee, крыніца
@AshwiniChaudhary Ой прабачце, я не бачыў адказ, і я хацеў, каб адказаць на JBernardo, каб ачысціць ўсе. Вялікі дзякуй.
дададзена аўтар Brian Lee, крыніца

Вы можаце выкарыстоўваць спіс разуменне:

>>> strs = 'States, Total Score, Critical Reading, Mathematics, Writing, Participation (%)\nWashington,1564,524,532,508,41.2000\nNewHampshire,1554,520,524,510,64.0000\nMassachusetts,1547,512,526,509,72.1000\nOregon,1546,523,524,499,37.1000\nVermont,1546,519,512,506,64.0000\nArizona,1544,519,525,500,22.4000\nConnecticut,1536,509,514,513,71.2000\nAlaska,1524,518,515,491,32.7000\nVirginia,1521,512,512,497,56.0000\nCalifornia,1517,501,516,500,37.5000\nNewJersey,1506,495,514,497,69.0000\nMaryland,1502,501,506,495,56.7000\nNorthCarolina,1485,497,511,477,45.5000\nRhodeIsland,1477,494,495,488,60.8000\nIndiana,1476,494,505,477,52.0000\nFlorida,1473,496,498,479,44.7000\nPennsylvania,1473,492,501,480,62.3000\nNevada,1470,496,501,473,25.9000\nDelaware,1469,493,495,481,59.2000\nTexas,1462,484,505,473,41.5000\nNewYork,1461,484,499,478,59.6000\nHawaii,1458,483,505,470,47.1000\nGeorgia,1453,488,490,475,46.5000\nSouthCarolina,1447,484,495,468,40.7000\nMaine,1389,468,467,454,87.1000\nIowa,1798,603,613,582,2.7000\nMinnesota,1781,594,607,580,6.0000\nWisconsin,1778,595,604,579,3.8000\nMissouri,1768,593,595,580,3.6000\nMichigan,1766,585,605,576,3.8000\nSouthDakota,1766,592,603,571,2.0000\nIllinois,1762,585,600,577,4.6700\nKansas,1752,590,595,567,4.7000\nNebraska,1746,585,593,568,3.9000\nNorthDakota,1733,580,594,559,3.4000\nKentucky,1713,575,575,563,5.0000\nTennessee,1712,576,571,565,6.4000\nColorado,1695,568,572,555,14.1000\nArkansas,1684,566,566,552,3.5000\nOklahoma,1684,569,568,547,3.8000\nWyoming,1683,570,567,546,3.6000\nUtah,1674,568,559,547,4.5000\nMississippi,1666,566,548,552,2.2000\nLouisiana,1652,555,550,547,4.0000\nAlabama,1650,556,550,544,5.4000\nNewMexico,1636,553,549,534,7.1000\nOhio,1609,538,548,522,17.2000\nIdaho,1601,543,541,517,14.6000\nMontana,1593,538,538,517,20.0000\nWest Virginia,1522,515,507,500,13.2000\n'
>>> [ y for x in strs.splitlines() for y in x.split(",")]
['States', ' Total Score', ' Critical Reading', ' Mathematics', ' Writing', ' Participation (%)', 'Washington', '1564', '524', '532', '508', '41.2000', 'NewHampshire', '1554', '520', '524', '510', '64.0000', 'Massachusetts', '1547', '512', '526', '509', '72.1000', 'Oregon', '1546', '523', '524', '499', '37.1000', 'Vermont', '1546', '519', '512', '506', '64.0000', 'Arizona', '1544', '519', '525', '500', '22.4000', 'Connecticut', '1536', '509', '514', '513', '71.2000', 'Alaska', '1524', '518', '515', '491', '32.7000', 'Virginia', '1521', '512', '512', '497', '56.0000', 'California', '1517', '501', '516', '500', '37.5000', 'NewJersey', '1506', '495', '514', '497', '69.0000', 'Maryland', '1502', '501', '506', '495', '56.7000', 'NorthCarolina', '1485', '497', '511', '477', '45.5000', 'RhodeIsland', '1477', '494', '495', '488', '60.8000', 'Indiana', '1476', '494', '505', '477', '52.0000', 'Florida', '1473', '496', '498', '479', '44.7000', 'Pennsylvania', '1473', '492', '501', '480', '62.3000', 'Nevada', '1470', '496', '501', '473', '25.9000', 'Delaware', '1469', '493', '495', '481', '59.2000', 'Texas', '1462', '484', '505', '473', '41.5000', 'NewYork', '1461', '484', '499', '478', '59.6000', 'Hawaii', '1458', '483', '505', '470', '47.1000', 'Georgia', '1453', '488', '490', '475', '46.5000', 'SouthCarolina', '1447', '484', '495', '468', '40.7000', 'Maine', '1389', '468', '467', '454', '87.1000', 'Iowa', '1798', '603', '613', '582', '2.7000', 'Minnesota', '1781', '594', '607', '580', '6.0000', 'Wisconsin', '1778', '595', '604', '579', '3.8000', 'Missouri', '1768', '593', '595', '580', '3.6000', 'Michigan', '1766', '585', '605', '576', '3.8000', 'SouthDakota', '1766', '592', '603', '571', '2.0000', 'Illinois', '1762', '585', '600', '577', '4.6700', 'Kansas', '1752', '590', '595', '567', '4.7000', 'Nebraska', '1746', '585', '593', '568', '3.9000', 'NorthDakota', '1733', '580', '594', '559', '3.4000', 'Kentucky', '1713', '575', '575', '563', '5.0000', 'Tennessee', '1712', '576', '571', '565', '6.4000', 'Colorado', '1695', '568', '572', '555', '14.1000', 'Arkansas', '1684', '566', '566', '552', '3.5000', 'Oklahoma', '1684', '569', '568', '547', '3.8000', 'Wyoming', '1683', '570', '567', '546', '3.6000', 'Utah', '1674', '568', '559', '547', '4.5000', 'Mississippi', '1666', '566', '548', '552', '2.2000', 'Louisiana', '1652', '555', '550', '547', '4.0000', 'Alabama', '1650', '556', '550', '544', '5.4000', 'NewMexico', '1636', '553', '549', '534', '7.1000', 'Ohio', '1609', '538', '548', '522', '17.2000', 'Idaho', '1601', '543', '541', '517', '14.6000', 'Montana', '1593', '538', '538', '517', '20.0000', 'West Virginia', '1522', '515', '507', '500', '13.2000']

Калі вы хочаце, спіс спісаў, якія змяшчаюць кожную лінію падзелу на , :

>>> [x.split(",") for x in strs.splitlines()]
[['States', ' Total Score', ' Critical Reading', ' Mathematics', ' Writing', ' Participation (%)'], ['Washington', '1564', '524', '532', '508', '41.2000'], ['NewHampshire', '1554', '520', '524', '510', '64.0000'], ['Massachusetts', '1547', '512', '526', '509', '72.1000'], ['Oregon', '1546', '523', '524', '499', '37.1000'], ['Vermont', '1546', '519', '512', '506', '64.0000'], ['Arizona', '1544', '519', '525', '500', '22.4000'], ['Connecticut', '1536', '509', '514', '513', '71.2000'], ['Alaska', '1524', '518', '515', '491', '32.7000'], ['Virginia', '1521', '512', '512', '497', '56.0000'], ['California', '1517', '501', '516', '500', '37.5000'], ['NewJersey', '1506', '495', '514', '497', '69.0000'], ['Maryland', '1502', '501', '506', '495', '56.7000'], ['NorthCarolina', '1485', '497', '511', '477', '45.5000'], ['RhodeIsland', '1477', '494', '495', '488', '60.8000'], ['Indiana', '1476', '494', '505', '477', '52.0000'], ['Florida', '1473', '496', '498', '479', '44.7000'], ['Pennsylvania', '1473', '492', '501', '480', '62.3000'], ['Nevada', '1470', '496', '501', '473', '25.9000'], ['Delaware', '1469', '493', '495', '481', '59.2000'], ['Texas', '1462', '484', '505', '473', '41.5000'], ['NewYork', '1461', '484', '499', '478', '59.6000'], ['Hawaii', '1458', '483', '505', '470', '47.1000'], ['Georgia', '1453', '488', '490', '475', '46.5000'], ['SouthCarolina', '1447', '484', '495', '468', '40.7000'], ['Maine', '1389', '468', '467', '454', '87.1000'], ['Iowa', '1798', '603', '613', '582', '2.7000'], ['Minnesota', '1781', '594', '607', '580', '6.0000'], ['Wisconsin', '1778', '595', '604', '579', '3.8000'], ['Missouri', '1768', '593', '595', '580', '3.6000'], ['Michigan', '1766', '585', '605', '576', '3.8000'], ['SouthDakota', '1766', '592', '603', '571', '2.0000'], ['Illinois', '1762', '585', '600', '577', '4.6700'], ['Kansas', '1752', '590', '595', '567', '4.7000'], ['Nebraska', '1746', '585', '593', '568', '3.9000'], ['NorthDakota', '1733', '580', '594', '559', '3.4000'], ['Kentucky', '1713', '575', '575', '563', '5.0000'], ['Tennessee', '1712', '576', '571', '565', '6.4000'], ['Colorado', '1695', '568', '572', '555', '14.1000'], ['Arkansas', '1684', '566', '566', '552', '3.5000'], ['Oklahoma', '1684', '569', '568', '547', '3.8000'], ['Wyoming', '1683', '570', '567', '546', '3.6000'], ['Utah', '1674', '568', '559', '547', '4.5000'], ['Mississippi', '1666', '566', '548', '552', '2.2000'], ['Louisiana', '1652', '555', '550', '547', '4.0000'], ['Alabama', '1650', '556', '550', '544', '5.4000'], ['NewMexico', '1636', '553', '549', '534', '7.1000'], ['Ohio', '1609', '538', '548', '522', '17.2000'], ['Idaho', '1601', '543', '541', '517', '14.6000'], ['Montana', '1593', '538', '538', '517', '20.0000'], ['West Virginia', '1522', '515', '507', '500', '13.2000']]

Замест таго каб генераваць ўвесь спіс адразу можна выкарыстоўваць itertools.chain , каб атрымаць элементы ляніва (ці нават лепш, калі вы ітэрацыю па адным радку адразу, аддаюць перавагу @ рашэння Мартейн Пітэрс у гэтым выпадку):

>>> from itertools import chain
>>> for elem in chain(*(x.split(",") for x in strs.splitlines())):
...     print elem
...     
States
 Total Score
 Critical Reading
 Mathematics
 Writing
 Participation (%)
Washington
...
4
дададзена
Можа быць, я не зразумеў правільна, але ОП, здаецца, не патрэбны плоскі спіс ...
дададзена аўтар JBernardo, крыніца
@BrianLee то гэта адзін правільны адказ. +1
дададзена аўтар JBernardo, крыніца
@BrianLee Мой адказ ахоплівае абодва выпадку.
дададзена аўтар Ashwini Chaudhary, крыніца
У прынцыпе, я проста хацеў, каб вярнуць ўсю радок з усімі элементамі расшчапляюцца ў радкі і коскі; усе \ п выдаляюцца і коскі таму спіс будзе выглядаць прыкладна так: [ «States», «Агульны бал», «крытычнага чытання», і г.д.], а затым для любых выпадкаў, калі гэта выглядала так: [1524.518.515.491, 32,7000 \ nVirginia] я змог бы вярнуць спіс, які выглядаў так: [ '1524', '518', '515', '491', '32 0,7000 ',' Вірджынія '].
дададзена аўтар Brian Lee, крыніца
@AshwiniChaudhary Ой прабачце, я не бачыў адказ, і я хацеў, каб адказаць на JBernardo, каб ачысціць ўсе. Вялікі дзякуй.
дададзена аўтар Brian Lee, крыніца

Не чытаць увесь файл у адзін прысест, прачытаць ў радку , а затым падзяліць:

with open(filepath) as f:
    for line in f:
        print line.strip().split(',')

Акрамя таго, можна падзяліць на першы сімвал новага радка, затым завесы і расколу на коскай:

lines = [line.split(',') for line in somestring.splitlines()]

Але для падзеленых коскамі файлаў, вам лепш выкарыстоўваць CSV модуль:

import csv

with open(filepath, 'rb') as f:
    reader = csv.reader(f, delimiter=',')
    for row in reader:
        print row

Гэта дае вам радкі, як:

['States', ' Total Score', ' Critical Reading', ' Mathematics', ' Writing', ' Participation (%)']
['Washington', '1564', '524', '532', '508', '41.2000']
['NewHampshire', '1554', '520', '524', '510', '64.0000']

Паколькі ў вас ёсць першы шэраг з загалоўкамі, вы можаце выкарыстоўваць DictReader , а таксама і атрымаць слоўнікі загалоўкаў і іх значэнняў:

with open(filepath, 'rb') as f:
    reader = csv.DictReader(f, delimiter=',')
    for row in reader:
        print row
        # address columns as: row['States'], row['Total Score']

які выводзіць радкі, як:

{' Writing': '508', ' Total Score': '1564', ' Critical Reading': '524', 'States': 'Washington', ' Mathematics': '532', ' Participation (%)': '41.2000'}
3
дададзена

Не чытаць увесь файл у адзін прысест, прачытаць ў радку , а затым падзяліць:

with open(filepath) as f:
    for line in f:
        print line.strip().split(',')

Акрамя таго, можна падзяліць на першы сімвал новага радка, затым завесы і расколу на коскай:

lines = [line.split(',') for line in somestring.splitlines()]

Але для падзеленых коскамі файлаў, вам лепш выкарыстоўваць CSV модуль:

import csv

with open(filepath, 'rb') as f:
    reader = csv.reader(f, delimiter=',')
    for row in reader:
        print row

Гэта дае вам радкі, як:

['States', ' Total Score', ' Critical Reading', ' Mathematics', ' Writing', ' Participation (%)']
['Washington', '1564', '524', '532', '508', '41.2000']
['NewHampshire', '1554', '520', '524', '510', '64.0000']

Паколькі ў вас ёсць першы шэраг з загалоўкамі, вы можаце выкарыстоўваць DictReader , а таксама і атрымаць слоўнікі загалоўкаў і іх значэнняў:

with open(filepath, 'rb') as f:
    reader = csv.DictReader(f, delimiter=',')
    for row in reader:
        print row
        # address columns as: row['States'], row['Total Score']

які выводзіць радкі, як:

{' Writing': '508', ' Total Score': '1564', ' Critical Reading': '524', 'States': 'Washington', ' Mathematics': '532', ' Participation (%)': '41.2000'}
3
дададзена

ёсць re.split для некалькіх знакаў расколу:

import re
re.split("\n| ","this is\na short\ntest...")
>>> ['this', 'is', 'a', 'short', 'test...']
2
дададзена

вы можаце выкарыстоўваць падзел() з функцыі паўторнай дзе вы можаце вызначыць рэгулярны выраз для расшчаплення

look at this: python split string based on regular expression

0
дададзена
Вы, хлопцы, была велізарная дапамогу. Дзякуй усім вялікае.
дададзена аўтар Brian Lee, крыніца