首页 > 解决方案 > Pandas/Python/Dropna:在 dropna 发生后重命名标题列名称以导入 MySQL

问题描述

使用下面的代码,我已成功删除了 CSV 文件中值可能为空白的行,该文件由 33 列组成。

import pandas as pd
from sqlalchemy import create_engine

data = pd.read_csv('TestCSV.csv', sep=',')
data.dropna()
data.dropna().to_csv('CleanCSV.csv', index=False)

现在,目的是将文件中的 33 个标题列重命名为我自己的,然后使用以下代码将新的(带有新命名的标题)的内容导入我的 MySQL 数据库,其中缺少重命名标题:

data = pd.read_csv('CleanCSV.csv', sep=',')
cnx = create_engine('mysql+pymysql://root:password@localhost:3306/schema', echo=False)
data.to_sql(name='t_database', con=cnx, if_exists='append', index=False)

我已经稍微阅读了 DataFrames,但是当内容在 CSV 文件中时,这个选项仍然有效吗?如果是这样,我如何将新 dropna 的内容分配给 DataFrame 并从那里重命名列的标题,然后我打算导入 MySQL?

先感谢您。

标签: pythonmysqlpython-3.xpandassqlalchemy

解决方案


在创建新的 csv 之前,请执行此操作

new_df = data.dropna().rename(columns={'oldcol1': 'newcol1', 'oldcol2': 'newcol2})

参数是一个字典,columns键和值分别作为旧列名和新列名。


推荐阅读