As @Webmaster4o said, automatic code converters produce horrible code most of the time. How horrible the code is depends on how different the languages are.
For example, there is lib2to3, which is Python's standard Python 2 to Python 3 converter. The two versions of Python have many differences, but in the end they are still very similar, so lib2to3's output is generally quite readable. (Keep in mind that lib2to3 does not attempt to convert every bit of code. Anything that it can't handle is simply ignored.)
A more serious example, there's a Java-to-Python converter that I came across a while back (don't remember the name off the top of my head, but it's on PyPI somewhere). Java and Python have some major differences besides syntax, most importantly the standard library. This converter actually included the (most important) standard Java classes rewritten as Python modules, that way all method calls remained the same. As you can probably guess, this will produce code that works (if you're lucky), but nothing that looks like normal Python code. There are also some Java language constructs that cannot be translated directly to Python, such as assignments or increment/decrement operators in expressions.
Converting between Python and C is even worse than that. The two lanugages have few things in common besides basic constructs like if/else. They also have very different concepts of what is a "basic language feature". For example, this is fairly basic Python code:
mylist = []
mylist.append("hi")
mylist.append(-42)
print(mylist[-1])
However this would be quite hard to convert as C has no standard equivalent to Python's list. There are arrays, however they are fixed-size and their contents must all be of the same type.
The other way around (C to Python) isn't much easier, and sometimes basically impossible. For example, this is valid C:
#include <stdio.h>
int main(int argc, char **argv) {
printf("%s\n", argv[argc]);
return 0;
}
You should never write this in a real program - what this does is get the data located in memory directly behind the argv array, pretend that it's a char *, and print the text data that it points to. How would you translate this to Python? (Actually I think this falls under "undefined behavior", which means that if you give this to a C-to-Python translator, it would be allowed to crash, format your hard drive and/or summon Richard Stallman armed with a katana.)
Point is, writing a code translator is hard, and there will always be cases where it will not work perfectly. If you want to run Python code from C, you should embed CPython. That way you have a full Python environment that is guaranteed to work.