It takes work, and breaking your problem down into very simple and clear tasks. It is possible to get decent data transformations from gpt 3.5 though. I generally start with gpt4 when prototyping an idea, and then after it's working consistently, I'll ask gpt4 to break the instructions down into smaller pieces. Even if it takes two or three runs through GPT 3.5 to get the full output transformed with what GPT4 could do in a single pass, it's still cheaper...