【问题标题】:what's the best way to clean CSV and load to mysql清理 CSV 并加载到 mysql 的最佳方法是什么
【发布时间】:2018-08-09 17:10:31
【问题描述】:

请告诉我

  1. 清理 CSV 并加载到 mysql 的最佳方法是什么

我正在将几个不同的 CSV 加载到 mysql 数据库,但 CSV 有一些异常。 注意:使用 pandas read_csv 加载到 df 和 to_sql 加载到 mysql

我正在尝试从 csv 中删除所有字符, 使用 pd.read_csv 将数据输入数据帧并在尝试执行 df[col].replace('$','').. 的数据帧内对某些无法找出原因的值不起作用。没有错误,只是不会删除这些字符。

还打算删除这些特殊字符,以便可以使用下面的 SQLalchemy 函数找到准确的数据类型。

for col in df.columns:
df[col]=(df[col].replace('$',''))
df[col]=(df[col].replace(',',''))

为了查找数据类型,我使用 SQL Alchemy,如下所示: pandas to_sql all columns as nvarchar

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    对于字符串列,您应该使用 .str 试试

    df[col]=df[col].str.replace('$','')
    

    【讨论】:

    • 如果我使用 str.replace 我得到以下错误属性错误:只能使用带有字符串值的 .str 访问器,在 pandas 中使用 np.object_ dtype
    • 列的数据类型是什么?您只能对包含在熊猫中被视为 np.object_dtype 的字符串的列执行 .str 。只需检查列的 dtype 及其字符串,然后仅使用 if 条件继续循环。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2013-02-03
    • 1970-01-01
    相关资源
    最近更新 更多