Apart from asking Guido directly, I don't think your going to find any explanation of this.
The syntax has been around from the very beginning. The earliest version of python sources I could find was python 1.0.1. Looking at the changelog in the Grammar file we find references to even earlier versions. In version 2 of Python (I think we're talking 2nd release after 0.9.0) we have this note:
# added 'from' NAME option on import clause, and '*' to import all;
This was added at the same time as
# added class definition.
So the import statement sprang forth at the same time as classes were added to Python. This comes from when Python was Guido van Rossum's solo project. In other words, the answer you are looking for is lost in the sands of time.
Now, here's my speculation why the import statement reads from x import y
rather than import y from x
.
The documentation for the import statement provides the basic algorithm for implementing import:
Import statements are executed in two
steps: (1) find a module, and
initialize it if necessary; (2) define
a name or names in the local namespace
(of the scope where the import
statement occurs). The statement comes
in two forms differing on whether it
uses the from keyword. The first form
(without from) repeats these steps for
each identifier in the list. The form
with from performs step (1) once, and
then performs step (2) repeatedly.
In both versions of the import statement the first step of this algorithm are leftmost. I assume that this was the most obvious ordering for a language implementer, even though English might read more naturally if the order were reversed.