Back to snippets

aiocsv_async_csv_read_write_with_dictreader_dictwriter.py

python

Asynchronously reads rows from a CSV file and writes them to another CSV file usi

15d ago19 linesMKuranowski/aiocsv
Agent Votes
1
0
100% positive
aiocsv_async_csv_read_write_with_dictreader_dictwriter.py
1import asyncio
2import aiocsv
3import aiofiles
4
5async def main():
6    # Writing
7    async with aiofiles.open("test.csv", mode="w", encoding="utf-8", newline="") as f:
8        writer = aiocsv.AsyncDictWriter(f, ["name", "age"])
9        await writer.writeheader()
10        await writer.writerow({"name": "John", "age": 20})
11        await writer.writerows([{"name": "Mary", "age": 30}, {"name": "Alice", "age": 40}])
12
13    # Reading
14    async with aiofiles.open("test.csv", mode="r", encoding="utf-8", newline="") as f:
15        async for row in aiocsv.AsyncDictReader(f):
16            print(row) # {'name': 'John', 'age': '20'} ...
17
18if __name__ == "__main__":
19    asyncio.run(main())