【发布时间】:2019-08-23 16:38:14
【问题描述】:
我想将 CSV 数据传输到 MySQL 表中。
我已阅读 CSV,其中包含所有类型的数据,命令如下: 文件 = pd.read_csv('abc.csv')
使用以下命令转移到 MySQL: file.to_sql(con=engine, name='abc', if_exists='replace', index=True, dtype=None, method=None)
这会将数据发送到 MySQL 表中,但它的数据类型为“text”,“bigint”,但我希望它为“varchar”和“int”......
CSV 有 50 列,所以为了克服这个问题,我只尝试了 3 个字段,dtype={'index': sql_types.INT, 'Employee ID': sql_types.INT, 'Employee Name': sql_types.VARCHAR( 255)} 并且成功了!
现在我必须将剩余的 47 个字段添加到这个 dtype 字典中,
所以我想知道,有什么方法可以自动转换数据类型而不提及其列名,例如..,当字段为数字时将其转换为 INT,当字段为字母数字时将其转换为 VARCHAR,当字段为date 类型将其转换为 datetime,这三行就足够了。
【问题讨论】: