簡體   English   中英

將 CSV 轉換為 python 中的字節類 Object

[英]Convert CSV to Bytes-like Object in python

我有一個 dataframe 並且我正在將該數據幀更改為 csv 使用

new_csv = df.to_csv()

現在我想將此 new_csv 轉換為字節 object。 當我嘗試這個時:

new_bytes_obj = io.BytesIO(new_csv) 

我收到一個錯誤:

類型錯誤:需要類似字節的 object,而不是 'str

有什么辦法嗎?

從您的問題中不清楚為什么要使用 BytesIO object。 文本數據的自然、明顯且通常正確的解決方案是將其封裝在 StringIO object 中。

new_str_obj = io.StringIO(new_csv)

如果您需要 BytesIO,則需要將您的str數據轉換為bytes數據。 在這種情況下,您需要決定如何對字符串進行編碼; 如果您不知道,UTF-8 通常是一個不錯的猜測,但您可能應該花一些時間來了解這對您的特定應用程序的實際意義。

new_bytes_obj = io.BytesIO(new_csv.encode('utf-8'))

Probably read http://nedbatchelder.com/text/unipain.html and/or Joel Spolsky's The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) now rather than later.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM