Combining only lines with spaces in python

I have the data below: where you can see the spaces between the two lines at the beginning and the spaces between some other lines:

Report Area Total Population Total Land Area (Square Miles) Population Density (Per Square Mile) Report Area 37,325,068 155,738.02 239.67 Alameda County, CA 1,515,136 738.82 2,050.75 Alpine County, CA 1,197 738.13 1.62 Amador County, CA 37,764 594.43 63.53 Butte County, CA 220,101 1,636.03 134.53 Calaveras County, CA 45,507 1,019.74 44.63 Colusa County, CA 21,329 1,150.43 18.54 

I need the final result:

 Report Area Total Population Total Land Area(Square Miles) Population Density(Per Square Mile) Report Area 37,325,068 155,738.02 239.67 Alameda County, CA 1,515,136 738.82 2,050.75 Alpine County, CA 1,197 738.13 1.62 Amador County, CA 37,764 594.43 63.53 Butte County, CA 220,101 1,636.03 134.53 Calaveras County, CA 45,507 1,019.74 44.63 Colusa County, CA 21,329 1,150.43 18.54 

I tried using output = " ".join(line.strip( ) for line in f) but it does not work as I need.

this is my conclusion:

 Report Area Total Population Total Land Area (Square Miles) Population Density (Per Square Mile) Report Area 37,325,068 155,738.02 239.67 Alameda County, CA 1,515,136 738.82 2,050.75 Alpine County, CA 1,197 738.13 1.62 Amador County, CA 37,764 594.43 63.53 

all lines in one line.

+6
source share
2 answers
  import re p = re.compile(ur'\n\n|\n(?=[^\n]*\n\n)', re.IGNORECASE) test_str = u"Report Area\n\nTotal Population\n\nTotal Land Area\n(Square Miles)\n\nPopulation Density \n(Per Square Mile)\n\n\nReport Area 37,325,068 155,738.02 239.67 \nAlameda County, CA 1,515,136 738.82 2,050.75 \nAlpine County, CA 1,197 738.13 1.62 \nAmador County, CA 37,764 594.43 63.53 \nButte County, CA 220,101 1,636.03 134.53 \nCalaveras County, CA 45,507 1,019.74 44.63 \nColusa County, CA 21,329 1,150.43 18.54 " subst = u" " result = re.sub(p, subst, test_str) 

You can try through re .

+1
source

Using a conditional list:

 output = os.linesep.join(line for line in f if " " in line) 
+1
source

Source: https://habr.com/ru/post/978067/


All Articles