Is there a way to export learned Verbs and Adjectives?

Hi there,
I’d like to get the list of verbs and adjectives I have already learned on WK. I didn’t find a way to do it in the interface and the search through the forum didn’t return any results.

I’d like to practice conjugating them, as I’ve recently learnt the grammar to do it, and I’d rather do it on the words I know.

Thanks for any help!

4 Likes

I don’t know how to do that, but I do know a website where you can practice conjugation! I understand wanting to practice on words you know, but the nice thing about Japanese conjugation, is that you can practice on any verb or adjective and the pattern will be the same.

活用

4 Likes

Thankyou - nice link!! I’ve bookmarked that one :blush:

1 Like

Damn “lively task” meaning “conjugation”… :smiley: But yeah, nice link.

2 Likes

Thanks for link! It looks great! I suppose I can choose N5 level and get going, as I’ve already done a lot of N5 on WK. It’s a whole new world for me =)

1 Like

To answer your original question you can get a CSV of the items you have learned by putting this in your web console (hit F12 then click on “Console”). It will download a CSV containing all the verbs and adjectives that you have learned on WK. The fields are the word in kanji, the meanings, the readings, and the parts of speech.

let items = await wkof.ItemData.get_items('assignments');
let learned = items.filter(a=>a.assignments&&a.assignments.started_at);
let by_pos = learned.filter(a=>a.data.parts_of_speech&&a.data.parts_of_speech.find(b=>b.includes('verb')||b.includes('adjective')));
let mapped = by_pos.map(a=>[a.data.characters, '"'+a.data.meanings.map(b=>b.meaning).join(', ')+'"', '"'+a.data.readings.map(b=>b.reading).join(', ')+'"', '"'+a.data.parts_of_speech.join(', ')+'"']);
let csv_content = mapped.map(a=>a.join(',')).join('\r\n');
let encodedUri = encodeURI("\uFEFF"+csv_content);
let link = document.createElement("a");
link.setAttribute("href", 'data:text/csv; charset=utf-8,'+encodedUri);
link.setAttribute("download", "my_data.csv");
document.body.appendChild(link);
link.click();
document.body.removeChild(link);

EDIT: You need WKOF installed for this to work

6 Likes

And… to ask for a little more help… any way to dump everything including vocabulary that we’ve learned?
This will make building a separate deck for studying outside WK a little easier.

Thanks!

1 Like

Then you can remove the part of speech filter (just remove the let by_pos line) and change out by_pos for learned in the let mapped = by_pos line

Unless you want more columns with info, of course, then you would need to add stuff

1 Like

Sorry to bother you again but below is what I tried. I get an error so I am guessing I am not fully understanding what you told me to do.

Any chance you can point me to where I messed this up if you have time?

Thanks!

let items = await wkof.ItemData.get_items('assignments');
let learned = items.filter(a=>a.assignments&&a.assignments.started_at);
let mapped = learned.map(a=>[a.data.characters, '"'+a.data.meanings.map(b=>b.meaning).join(', ')+'"', '"'+a.data.readings.map(b=>b.reading).join(', ')+'"', '"'+a.data.parts_of_speech.join(', ')+'"']);
let csv_content = mapped.map(a=>a.join(',')).join('\r\n');
let encodedUri = encodeURI("\uFEFF"+csv_content);
let link = document.createElement("a");
link.setAttribute("href", 'data:text/csv; charset=utf-8,'+encodedUri);
link.setAttribute("download", "my_data.csv");
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
1 Like

Ah, sorry I didn’t consider that radicals wouldn’t have either readings or parts of speech. This should work.

let items = await wkof.ItemData.get_items('assignments');
let learned = items.filter(a=>a.assignments&&a.assignments.started_at);
let mapped = learned.map(a=>[a.data.characters, '"'+a.data.meanings.map(b=>b.meaning).join(', ')+'"', a.readings ? '"'+a.readings.map(r => r.reading).join(', ')+'"' : '-', a.parts_of_speech ? '"'+a.parts_of_speech.join(', ')+'"' : '-']);
let csv_content = mapped.map(a=>a.join(',')).join('\r\n');
let encodedUri = encodeURI("\uFEFF"+csv_content);
let link = document.createElement("a");
link.setAttribute("href", 'data:text/csv; charset=utf-8,'+encodedUri);
link.setAttribute("download", "my_data.csv");
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
2 Likes

But why on Earth did I get a notification from this post? :thinking:

EDIT: Oh, because the WKOF link points to my post on that thread :slight_smile:

1 Like

Oh, oops. I will change that

1 Like

No sweat. Always a pleasure to be reminded of your posts~ :wave:

1 Like