我使用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文件的同时,将列的数据类型也保存为更改后的数据类型,而不是原始数据类型。
发布于 2019-08-24 18:31:19
如果csv是唯一选项,则可以通过创建data_map csv文件来满足要求。
当将数据帧导出到csv时,您可以创建另一个csv,该csv存储列类型信息。
在将csv导入数据帧时,您可以提前读取data_map csv并转换为字典。使用它显式加载特定数据类型的csv数据。dtype params可以提供这样的功能。
dtype :列->类型的类型名称或字典,默认为数据或列的无数据类型。例如,{'a':np.float64,'b':np.int32} (engine=‘python’不支持)。将字符串或对象与适当的na_values设置一起使用,以保留而不解释数据类型。
版本0.20.0中的新特性:支持Python解析器。enter link description here
发布于 2019-08-29 00:00:03
df.to_csv('answer.csv', index=False, index_label = True, encoding='utf-8')您可以使用index_label = True
https://stackoverflow.com/questions/57636540
复制相似问题