Skip to content

Instantly share code, notes, and snippets.

@kthy
Created February 7, 2023 09:04
Show Gist options
  • Save kthy/454887fb4c6c6a97b67f5729e5376ce7 to your computer and use it in GitHub Desktop.
Save kthy/454887fb4c6c6a97b67f5729e5376ce7 to your computer and use it in GitHub Desktop.
Spooled Wrapper Fail
from csv import DictReader, DictWriter
from io import TextIOWrapper
from tempfile import SpooledTemporaryFile
csv_lines = ["A;2;3", "B;4;6", "C;8;12"]
fieldnames = ["Foo", "Bar", "Baz"]
csv_reader = DictReader(csv_lines, fieldnames=fieldnames, delimiter=";")
with SpooledTemporaryFile(mode="w+b") as tmp:
with TextIOWrapper(tmp, encoding='utf-8') as wrapper:
writer = DictWriter(wrapper, fieldnames=fieldnames)
for row in csv_reader:
writer.writerow({"Foo": row["Foo"], "Bar": row["Bar"], "Baz": row["Baz"]})
tmp.seek(0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment