We introduced the method str.split in and promised to return to it later. The “later” is now.
The str.split method divides a string into parts
This method is a powerful, albeit imperfect, tool for text processing. It takes a string and splits it into fragments, essentially taking out whitespace characters. The fragments are returned as a new list and can be assigned to a variable. When the sep (“separator”) argument is not set to None, the separator is used instead of whitespace.
In the example in , str.split converts a string of color names into a list of strings:
| | >>> colors = 'red orange yellow green blue purple'.split() |
| | >>> colors |
| | ['red', 'orange', 'yellow', 'green', 'blue', 'purple'] |
Another frequent application of the method is to split a line from a comma-separated values (CSV) file. As the name suggests, CSV file columns are separated by commas and can be extracted using str.split(',') (or similar methods):
| | >>> colors = 'red,orange,yellow,green,blue,purple' |
| | >>> colors.split() # Will not split |
| | ['red,orange,yellow,green,blue,purple'] |
| | >>> colors.split(',') |
| | ['red', 'orange', 'yellow', 'green', 'blue', 'purple'] |
Beware that if a column in a CSV file contains a comma (as in "Newman, Paul"), str.split(',') will split this column apart, as it is not aware of the structure of a CSV file. If you suspect that your CSV file has inner commas, use specialized modules (such as csv) to work with your data.