【发布时间】:2020-10-05 06:05:44
【问题描述】:
我有一个这样的多列数据框
SE# Name Industry Code Industry
12345 Tom Jerry 923 Travel
SE# 为 int64,行业代码为 int64,其余为对象。
我用过
df.astype(str)
并且列 dtypes 更改为 objects,但是当我将文件保存为 csv 然后读回该文件时,数据类型重置为 int64。请告知如何确保数据类型保持为对象
最终目标是将 CSV 文件读入 SQL 数据库,当我这样做时,SE 列显示为 int。
谢谢!!
【问题讨论】:
-
python 不会读取 CSV 文件 - 我会将文件导入 SQL DB,因此 SE 列恢复为 int
-
您正在读取数据的表的架构是什么?
-
我不明白这与熊猫有什么关系。如果您将 csv 读入 SQL 数据库,则类型由表定义确定。如果要使用
to_sql,可以使用dtype参数指定类型。 -
通常
to_csv不引用字符串。所以字符串"3"会写成数字3。您可以使用quoting参数更改它。但这不会改变(默认)pd.read_csv处理类似数字的字符串的方式。