Pandas写入数据到MySql

Pandas写入数据到MySql,第1张

import pandas as pd

from sqlqlchemy import create_engine

def getData(path):

        data = pd.read_excel(path)

        return data

def writeData(data):

        conn = create_engine(

                                           "mysql+pymysql://root:keijay@localhost:3306/db_name?charset=utf8")

        pd.io.sql.to_sql(data, "table_name", con = conn,index = False)

if __name__ == "__main__":

        path = "E:\datasets\test.xlsx"

        data = getData(path)

         writeData(data)

遇到问题:

  1、写入完成后有告警:

        解决方法:

              pip install mysql-connect-python -i https://pypi.douban.com/simple

              将:

                    conn = create_engine(

"mysql+pymysql ://root:keijay@localhost:3306/db_name?charset=utf8")

              修改为:

                      conn = create_engine(

" mysql+mysqlconnector ://root:keijay@localhost/test_python?charset=utf8")

一、问题原因

mysql数据库存储过程创建语句之中需要使用begin表示存储过程要执行的语句从这里开始,在结尾使用end表示存储过程的语句要结束了。而在mysql数据库之中无论是查询还是添加语句都要使用分号去分隔,但是在存储过程之中创建sql语句的时候却被mysql数据库的编译器把分号当做了结束语句,没有end就被检测成语法错误了。

二、解决方法

一般来说上面这个问题都是因为mysql数据库版本所导致的,如果确定语句没有错误的话就要更新版本或者将语句的结束符改成别的符号,只要能够让mysql数据库编译器解析到end就可以了。使用delimiter即可更改sql语句结束符,示例如下:

delimiter // --更改结束符create procedure course_id_name(in cid varchar(20))beginselect namefrom coursewhere id = cidend//delimiter --将结束符换回分号

以上就是关于“mysql数据库存储过程语法报错为什么?原因和解决方法看这里”的全部内容了,想要了解更多python的实用知识和代码示例可以持续关注这个频道,每次更新都会有很多新的知识技术分享给大家。

Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐 *** 作。

1. 基本使用:创建DataFrame. DataFrame是一张二维的表,大家可以把它想象成一张Excel表单或者Sql表。Excel 2007及其以后的版本的最大行数是1048576,最大列数是16384,超过这个规模的数据Excel就会d出个框框“此文本包含多行文本,无法放置在一个工作表中”。Pandas处理上千万的数据是易如反掌的sh事情,同时随后我们也将看到它比SQL有更强的表达能力,可以做很多复杂的 *** 作,要写的code也更少。

说了一大堆它的好处,要实际感触还得动手码代码。首要的任务就是创建一个DataFrame,它有几种创建方式:

(1)列表,序列(pandas.Series), numpy.ndarray的字典

二维numpy.ndarray

别的DataFrame

结构化的记录(structured arrays)

(2)其中,二维ndarray创建DataFrame,代码敲得最少:

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(10, 4))

df

0 1 2 3

0 0.927474 0.127571 1.655908 0.570818

1 -0.425084 -0.382933 0.468073 -0.862898

2 -1.602712 -0.225793 -0.688641 1.167477

3 -1.771992 -0.692575 -0.693494 -1.063697

4 -0.456724 0.371165 1.883742 -0.344189

5 1.024734 0.647224 1.134449 0.266797

6 1.247507 0.114464 2.271932 -0.682767

7 -0.190627 -0.096997 -0.204778 -0.440155

8 -0.471289 -1.025644 -0.741181 -1.707240

9 -0.172242 0.702187 -1.138795 -0.112005

(3)通过describe方法,可以对df中的数据有个大概的了解:

df.describe()

0 1 2 3

count 10.000000 10.000000 10.000000 10.000000

mean -0.189096 -0.046133 0.394722 -0.320786

std 1.027134 0.557420 1.258019 0.837497

min -1.771992 -1.025644 -1.138795 -1.707240

25% -0.467648 -0.343648 -0.692281 -0.817865

50% -0.307856 0.008734 0.131648 -0.392172

75% 0.652545 0.310266 1.525543 0.172096

max 1.247507 0.702187 2.271932 1.167477

2. 改变cell。

3. group by。

4. 读写文件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8547662.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存