python - 将包含列名称为 "name"的 pandas DataFrame 转储到 mysql 表

标签 python mysql pandas pandas-to-sql

我正在尝试使用 pandas 和 to_sql 将我抓取的数据转储到 mysql。

我有两种方法 1>

{# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
import MySQLdb
from sqlalchemy import create_engine
import os
from pandas.io import sql
import MySQLdb

columns_list= ['persons','c_number','name']
df = pd.DataFrame()
file_name = "/home/*****/****/data.xlsx"
data = pd.read_excel(file_name)
df = df.append(data)
df.columns = columns_list
engine=create_engine('mysql+mysqldb://root:root@localhost:3306/database_name?charset=utf8&use_unicode=1', echo=False)
con = MySQLdb.connect(host="localhost",user="user_name",passwd="password",                db="database_name")
df.to_sql(con=con, name='table_name',if_exists='replace',flavor='mysql')}

这里我得到 TypeError: to_sql() got multiple values for keyword argument 'name' error

2>

import numpy as np
import pandas as pd
import MySQLdb
from sqlalchemy import create_engine
import os

columns_list= ['persons','c_number','name']
df = pd.DataFrame()
file_name = "data.xlsx"
data = pd.read_excel(file_name)
df = df.append(data)
df_n = pd.DataFrame()
df = df_n.append(df_new)
df = np.array_split(df, 100)
for x in range(len(df_new)):
    print x
    engine = create_engine('mysql+mysqldb://user_name:password@localhost:3306/database_name?charset=utf8&use_unicode=1', echo=False)
    df[x].to_sql(name='table_name', con=engine, if_exists = 'append', index=False)
    engine.dispose()

这样我就可以转储数据,但我在所有记录中的名称字段都为空。

有没有办法使用列名“name”转储数据

最佳答案

我认为你在 to_sql 方法中写了 df ,所以我认为你有错字,试试: df.to_sql(con=con, name='table_name',if_exists='replace',flavor='mysql')

关于python - 将包含列名称为 "name"的 pandas DataFrame 转储到 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47264403/

相关文章:

python - 为什么 Python 的 eval() 拒绝这个多行字符串,我该如何修复它?

Python 2.6.5 : Divide timedelta with timedelta

python - 每个时间间隔用数据库更新表

MySQL - 如何在过程中编写查询? (SET 数据类型参数)

python - 创建与每一行具有相同列表的新 pandas 列?

python - 如何解决传递依赖冲突问题?

python - 返回具有最大值的列表索引

php - 克隆(例如 db_de)数据库并将其翻译为第二种语言是否合理?

python - Pandas.apply 返回随机子字符串

python - numpys pandas 中的二维数组分组