StringIOを使用することでCSVファイルの作成を簡単に行うことができます。
以下簡単なサンプルです。
settingsに関してはこちらを参照
from typing import List
import csv
from io import StringIO
def create_csv_from_associative_array(data: List[list], **settings) -> str:
file = StringIO()
writer = csv.writer(file, **settings)
writer.writerows(data)
csv_data = file.getvalue()
StringIO().close()
return csv_data
settings = {
'delimiter': ',',
'doublequote': True,
'lineterminator': '\r\n',
'quotechar': '"',
'skipinitialspace': True,
'quoting': csv.QUOTE_MINIMAL,
'strict': True
}
data = [['名前', '年齢', '性別'], ['tester1', 23, 'man'], ['tester2', 19, 'woman']]
cav_data = create_csv_from_associative_array(data=data, **settings)
print(cav_data)