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-OpenCV 参考文档
- 下一篇: RegExp:正则表达式对象