Created
November 2, 2011 13:56
-
-
Save brunobord/1333685 to your computer and use it in GitHub Desktop.
Chained string transformations
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### My question is: is this solution elegant enough? | |
### I mean: if I'm adding several other functions to "clean" my "cell", will it still be "Pythonic"? | |
### e.g.: for f in (func1, func2, func3, func..): stuff = f(stuff) | |
def strip(cell): | |
return cell.strip() | |
def removedblspaces(cell): | |
return u' '.join(cell.split()) | |
def clean(cell): | |
if isinstance(cell, unicode): | |
for f in (removedblspaces, strip): | |
cell = f(cell) | |
return cell | |
return cell |
@brunobord if you want some kind of pipeline to generate a workflow, I advise you to use generators. I even wonder if you can use decorators in your case:
@remove_blank_spaces
@strip
def clean_cell(data):
return data
...
But it really depends on your data, as always!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@davidbgk pointed something important (and weird) about mutable functions arguments.
check this example :