How do I write data into CSV format as string (not file)?

后端 未结 6 1349
借酒劲吻你
借酒劲吻你 2020-11-28 04:56

I want to cast data like [1,2,\'a\',\'He said \"what do you mean?\"\'] to a CSV-formatted string.

Normally one would use csv.writer() for

6条回答
  •  时光取名叫无心
    2020-11-28 05:45

    In Python 3:

    >>> import io
    >>> import csv
    >>> output = io.StringIO()
    >>> csvdata = [1,2,'a','He said "what do you mean?"',"Whoa!\nNewlines!"]
    >>> writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC)
    >>> writer.writerow(csvdata)
    59
    >>> output.getvalue()
    '1,2,"a","He said ""what do you mean?""","Whoa!\nNewlines!"\r\n'
    

    Some details need to be changed a bit for Python 2:

    >>> output = io.BytesIO()
    >>> writer = csv.writer(output)
    >>> writer.writerow(csvdata)
    57L
    >>> output.getvalue()
    '1,2,a,"He said ""what do you mean?""","Whoa!\nNewlines!"\r\n'
    

提交回复
热议问题