kMean clustering for recommendation
Since your data is sequential, you could try with sequential models (LSTM, RNN, GRU) etc.
With which you can you predict what the user will select after the set of books as recommendation. In this way the input sequence length can be anything. (like, 3345, 33456, 334567 etc).
But to answer your question with KMeans.
I assume, all the rows are in same length.

Cluster all data with KMeans
Optimize number of K with Elbow method.
For each cluster take UNIQUE books.
Foe each User,
a. Predict Cluster for the User
b. From the Cluster's Unique books, Find books which are not the user already read. (Cluster books - User books).
c. You can suggest these books to the User.

This is just one the starting method to do it. Depends upon the business you can find many alternatives.
One such I can suggest is create similarity embeddings for each books, and suggest most similar (with distance measures) book to the user.
Hope this helps.