python使用loaddata_Python中LOADDATAINFILE语句导入数据(txt)进入MySQL的一些注意事项...
问题:ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ROW 1' at line 1")
代码如下:
# -*- coding: utf-8 -*-
"""
Created on Fri Apr 20 10:22:25 2018
@author: LingtingWu
"""
import os;
import pandas;
import MySQLdb;
import matplotlib;
import matplotlib.pyplot as plt;
connection = MySQLdb.connect(
host='localhost',
user='root',
passwd='123456',
db='7.1',
charset='utf8'
);
#导入数据到MySQL
#遍历目录,把里面的所有数据入库
rootDir="D:\\Python\\7.1\\";
def exeSQL(sql):
print("exeSQL: " + sql)
connection.query(sql);
for fileName in os.listdir(rootDir):
path = os.path.join(rootDir, fileName)
if ".txt" in fileName:
print(path)
path = path.replace("\\", "\\\\");
#拿到文件名中的时间字段
datetime = fileName[0:8];
tableName = "订购明细" + datetime;
#建表、导入数据到表中
exeSQL("drop table if exists " + tableName)
exeSQL("create table " + tableName + "(订单编号 int, 订购日期 datetime, 用户ID int, 产品 char(8), `单价(元)` int, 数量 int, 订购金额 int);");
exeSQL("LOAD DATA LOCAL INFILE '" + path + "' INTO TABLE `" + tableName + "` CHARACTER SET 'UTF8' COLUMNS TERMINATED BY ',' LINES TERMINATED BY '\\n' IGNORE 1 LINES;");#把ROW改成LINES
#建立日订购统计表
exeSQL("create table if not exists 日订购统计表(统计日期 date, 订购用户数 int, 订购次数 int, 人均订购金额 double, 订购总额 double);");
exeSQL("delete from 日订购统计表 where 统计日期='" + datetime + "';");
exeSQL("insert into 日订购统计表 select '" + datetime + "', count(distinct 用户ID), count(用户ID), sum(订购金额)/count(distinct 用户ID), sum(订购金额) from `" + tableName + "`;");
statDay = pandas.read_sql('select * from 日订购统计表;', con=connection);
#记得用完要关闭连接
connection.close();
print('\n日订购统计表数据如下:');
print(statDay);
#绘图
font = {
'family' : 'SimHei'
}
matplotlib.rc('font', **font);
plot1 = plt.plot(statDay['统计日期'], statDay['订购用户数']);
plot2 = plt.plot(statDay['统计日期'], statDay['订购次数']);
plot3 = plt.plot(statDay['统计日期'], statDay['人均订购金额']);
plt.show();
plt.legend(('订购用户数', '订购次数', '人均订购金额'))
解决方案:
把ROW改成LINE(python 3.6版本)。
python使用loaddata_Python中LOADDATAINFILE语句导入数据(txt)进入MySQL的一些注意事项...相关推荐
- Python 将excel中的选择题 导入到word文档中
Python 将excel中的选择题 导入到word文档中 0x00 昨天,我的老师给我们一个包含600道关于比赛的选择题和判断题的excel文档,要我们整理成指定格式的word文档以后交给他.我看着 ...
- python在json文件中查找指定数据_Python中json的取值 如何使用python提取json中指定字段的数据...
python中为什么用json有什么作用 如何用python读取json里面的值啊我爱你,所以我给了你伤害我的权力,只要我能忍受,我会一直陪伴着你,但你不能伤害我太多. 数据如下,我想要读取name. ...
- python读取Excel中关联表格的数据(只要是同Excel中
来自CSDN-Mr熊 https://blog.csdn.net/qq_41030861/article/details/80515984 谁能告诉我前面这一堆都是什么啊... python读取Exc ...
- scrapy爬虫储存到mysql_详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
获取要爬取的URL 爬虫前期工作 用Pycharm打开项目开始写爬虫文件 字段文件items # Define here the models for your scraped items # # S ...
- python中使用什么导入模块-Python中使用语句导入模块或包的机制研究
这篇文章讨论了Python的from import *和from import *,它们怎么执行以及为什么使用这种语法(也许)是一个坏主意. 从一个模块导入全部 from import * means ...
- python导入包相当于什么_Python中使用语句导入模块或包的机制研究
这篇文章讨论了Python的from import *和from import *,它们怎么执行以及为什么使用这种语法(也许)是一个坏主意. 从一个模块导入全部 from import * means ...
- python产品缺陷_基于python从redmine-api中获取项目缺陷数据(1)
1.引言 本文主要内容是将如何利用 Python 对 Redmine缺陷进行缺陷数据获取操作.目前统计缺陷数据时基本是根据项目手动去redmine获取缺陷数据,至少要花费一个工作日去完成,目前的目标是 ...
- python导入excel模块_Excel到python第一章python利用pandas和numpy模块导入数据
原博文 2019-08-29 21:18 − import numpy as np import pandas as pd # 导入数据 # 读取csv数据 df = pd.read_csv(open ...
- python从word中提取信息导入excel_使用python模块win32com提取word表格到excel
由于工作的要求,需要将word文档里的表格提取出来放到excel里面.表格结构比较复杂,且一篇word里面有多个表格.对于一个word文档来说提取很简单,只要选中表格,然后复制黏贴到excel里面就可 ...
最新文章
- jquery json 判断用户是否已注册
- mxnet symbol图的 变量 shape
- 【深度学习】网络中隐含层神经元节点的个数(需要学习的特征数目)
- Waiting for table metadata lock
- IOS libxml/tree.h file not found 解决方案
- canvas绘制竖排的数字_Python绘制可爱的卡通人物 | 【turtle使用】
- 51nod1812树的双直径(换根树DP)
- python 表名代码编码格式_14行代码示例讲解:教你解决python上传图片限制格式问题...
- Ubuntu-显卡驱动-nvidia-smi报错:couldn‘t communicate with the NVIDIA driver
- 第六章 算法algorithms
- 单片机移位操作;_crol_ 和_cror_ 的使用
- 利用Spring扩展点模拟Feign实现远程调用(干货满满)「扩展点实战系列」- 第445篇
- rsh服务配置主机无密码访问
- Cylinder Candy(zoj 3866 旋转体体积和表面积)
- 软考中级 真题 2015年上半年 信息系统管理工程师 应用技术
- Jenkins系列:5、wsl下的Jenkins编译Windows下的Qt程序并自动打包成exe
- 【医学图像处理】CT成像技术之CT剂量
- 计算机配置高低怎么看,电脑配置的高低怎么查看
- LeetCode刷题:871. Minimum Number of Refueling Stops
- 安装finalshell 高级版(绿色版)
热门文章
- 半素数c语言,非常简单的c题目 不懂 紧急求助
- Linux系统中用户的管理
- 先进技术android,React Native实战(JavaScript开发iOS和Android应用)/计算机科学先进技术译丛...
- java最接近对点及距离_最接近点对问题_分治法
- 电机编码器调零步骤_蒂森电梯编码器整定和主机整定大全
- appweb ejs_EJS部分
- c++ array stl_C ++ STL中带有示例的array :: front()函数
- 生成文件的另一种思路——共享文件同步
- android字符串复制到剪贴板
- Oracle view 小结片段