You can use python to generate a .txt file from a .csv file to auto-generate many Anki cards with the same format, which you can then import simply into Anki. I used the following procedure to Ankify approximately 1000 Dutch vocabulary words.

I found a list of approx. 1000 English - Dutch words taken from Duolingo already compiled by Reddit user xBroleh here. The list is in google sheets so I exported as .csv. I then ran a simple Python code which read the .csv file and created a .txt file with each line having the format:


English: {{c1::[ENGLISH WORD]}}<br><br>Dutch: {{c2::{[DUTCH WORD]}}

When imported into Anki each line is treated as an individual card which looks like this:

Front

Back

Python Code

import csv

input_csv = 'duolingo_dutch.csv'    # Name of input CSV file
output_txt = 'anki_cards.txt'       # Name of output file

# Open the input CSV file and output text file
with open(input_csv, 'r', encoding='utf-8') as f_in, open(output_txt, 'w', encoding='utf-8') as f_out:
    # Create a CSV reader object to read the input file
    reader = csv.reader(f_in, delimiter=',')

    # Iterate through each row in the CSV file
    for row in reader:
        # Each row is a list of column values. For example: ["de man", "man"]

        # Skip rows with fewer than 2 columns, as they don't contain useful
        if len(row) < 2:
            continue

        # Extract and clean the English, Dutch words from the row
        dutch = row[0].strip()
        english = row[1].strip()

        # Skip rows that are headers or irrelevant sections:
        # - Rows where 'Dutch' or 'English' appear as content
        # - Empty rows or rows starting with specific markers like '***'
        if dutch in ('Dutch', '') or english in ('English', ''):
            continue
        if dutch.startswith('***'):  # Skip lines that look like section dividers or irrelevant data
            continue

        # Format the data for Anki Cloze deletion cards:
        # - Add `<br>` tags for line breaks to ensure proper formatting in Anki
        line = f"English: {{{{c1::{english}}}}}<br><br>Dutch: {{{{c2::{dutch}}}}}\n"

        # Write the formatted line to the output file
        f_out.write(line)

This generates a .txt fle which can be imprted into Anki. It is important to correctly set the Field separator option to Tab, and the Note Type to Cloze so Anki’s import tool recognises how the the field should be generated from each line, and that the {{c1::WORD}} is regognised as a cloze deletion element.

This way of generating and formatting cards seems very powerful. The posibilities for more complex templates using HTML are endless. In this case I only used <br> linebreaks to separate the English from Dutch text, but you could do so much more if you needed to.