簡體   English   中英

如何在使用to_csv()時保留列的數據類型

[英]How to preserve datatype of column while using to_csv()

我正在使用astype()將int數據類型更改為str的數據類型,並使用to_csv()將其保存到csv文件中。 但是通過read_csv()讀取相同的csv文件表示該數據類型僅為int。 我不想在讀取文件時使用dtype = str。 以下是以下信息:

>>df.info()
dtypes: int64(1), object(1)

>>df = df.astype(str)

>>df.info()
dtypes: object(2)

>>df.to_csv('answer.csv', index=False, encoding='utf-8')
>>df = pd.read_csv('answer.csv')

>>df.info()
dtypes: int64(1), object(1)

有什么方法可以在保存csv文件時,僅將列的數據類型保存為更改后的數據類型,而不保存原始數據類型。

如果csv是唯一的選擇,則可以通過創建data_map csv文件來滿足要求。

將數據幀導出到csv時,您可以創建另一個csv,用於存儲列類型信息。

將csv導入到dataframe中時,您可以讀取data_map csv並提前轉換為字典。 使用它可以以特定數據類型顯式加載csv數據。 dtype參數可以提供這樣的功能。

dtype:類型名稱或列的字典->類型,默認為None數據或列的數據類型。 例如{'a':np.float64,'b':np.int32}(不支持engine ='python')。 將str或object與合適的na_values設置一起使用可保留而不解釋dtype。

0.20.0版中的新功能:支持Python解析器。 在此處輸入鏈接說明

df.to_csv('answer.csv', index=False, index_label = True, encoding='utf-8')

您可以使用index_label = True

暫無
暫無

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

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