# encoding=utf-8
import pymysql as db
def get_conn(**kwargs):
'''获取mysql数据库连接'''
return db.connect(
host=kwargs.get('host'),
user=kwargs.get('user'),
passwd=kwargs.get('passwd'),
port=kwargs.get('port',3306),
db=kwargs.get('db')
)
def main():
conn = get_conn(host='127.0.0.1',
user='root',
passwd='123456',
port=3307,
db='sys') #哪个库
cur = conn.cursor()
cur.execute('select count(1) from sys_config') #哪个表名
print(cur.fetchall())
# print(cur.fetchone())
# print(cur.fetchmany(2))
cur.close()
conn.close()
if __name__ == '__main__':
main()
# encoding=utf-8
import pymysql as db
def get_conn(**kwargs):
'''获取mysql数据库连接'''
return db.connect(
host=kwargs.get('host'),
user=kwargs.get('user'),
passwd=kwargs.get('passwd'),
port=kwargs.get('port', 3306),
db=kwargs.get('db')
)
def execute_sql(conn, sql):
'''执行SQL的函数'''
cur = conn.cursor()
with conn as cur:
cur.execute(sql)
def create_table(conn):
'''创建新表'''
sql_drop_table = 'drop table if exists userinfo_user'
sql_create_table = '''create table `userinfo_user`(
`sno` int(11) not null,
`sname` varchar(25) default null,
`sage` int(11) default null,
primary key (`sno`)) engine=innodb default charset=utf8mb4
'''
for sql in [sql_drop_table, sql_create_table]:
execute_sql(conn, sql)
def insert_data(conn, sno, sname, sage):
insert_format = "insert into userinfo_user values({0},'{1}',{2})"
sql = insert_format.format(sno, sname, sage)
execute_sql(conn,sql)
def main():
conn = get_conn(host='127.0.0.1',
user='root',
passwd='123456',
port=3307,
db='userinfo')
cur = conn.cursor()
cur.execute('select * from userinfo_user')
print(cur.fetchall(),end=' ')
# print(cur.fetchone())
# print(cur.fetchmany(2))
create_table(conn)
insert_data(conn,100,'张三',18)
insert_data(conn,101,'李四',19)
cur.close()
conn.close()
if __name__ == '__main__':
main()
((100, '张三', 18), (101, '李四', 19))
查看数据库
# encoding=utf-8
import pymysql as db
def get_conn(**kwargs):
'''获取mysql数据库连接'''
return db.connect(
host=kwargs.get('host'),
user=kwargs.get('user'),
passwd=kwargs.get('passwd'),
port=kwargs.get('port', 3306),
db=kwargs.get('db')
)
def execute_sql(conn, sql):
'''执行SQL的函数'''
cur = conn.cursor()
with conn as cur:
cur.execute(sql)
def create_table(conn):
'''创建新表'''
sql_drop_table = 'drop table if exists userinfo_user'
sql_create_table = '''create table `userinfo_user`(
`sno` int(11) not null,
`sname` varchar(25) default null,
`sage` int(11) default null,
primary key (`sno`)) engine=innodb default charset=utf8mb4
'''
for sql in [sql_drop_table, sql_create_table]:
execute_sql(conn, sql)
def insert_data(conn, sno, sname, sage):
insert_format = "insert into userinfo_user values({0},'{1}',{2})"
sql = insert_format.format(sno, sname, sage)
execute_sql(conn,sql)
def main():
conn = get_conn(host='127.0.0.1',
user='root',
passwd='123456',
port=3307,
db='userinfo')
try:
# create_table(conn)
# insert_data(conn, 100, '张三', 18)
# insert_data(conn, 101, '李四', 19)
with conn as cur:
cur.execute('select * from userinfo_user')
rows = cur.fetchall()
for row in rows:
print(row)
finally:
if conn:
conn.close()
if __name__ == '__main__':
main()
(100, '张三', 18)
(101, '李四', 19)
# encoding=utf-8
import pymysql as db
from contextlib import contextmanager
@contextmanager
def get_conn(**kwargs):
'''获取mysql数据库连接'''
conn = db.connect(
host=kwargs.get('host'),
user=kwargs.get('user'),
passwd=kwargs.get('passwd'),
port=kwargs.get('port', 3306),
db=kwargs.get('db'))
try:
yield conn
finally:
if conn:
conn.close()
def execute_sql(conn, sql):
'''执行SQL的函数'''
# cur = conn.cursor()
with conn as cur:
cur.execute(sql)
def create_table(conn):
'''创建新表'''
sql_drop_table = 'drop table if exists userinfo_user'
sql_create_table = '''create table `userinfo_user`(
`sno` int(11) not null,
`sname` varchar(25) default null,
`sage` int(11) default null,
primary key (`sno`)) engine=innodb default charset=utf8mb4
'''
for sql in [sql_drop_table, sql_create_table]:
execute_sql(conn, sql)
def insert_data(conn, sno, sname, sage):
insert_format = "insert into student values({0},'{1}',{2})"
sql = insert_format.format(sno, sname, sage)
execute_sql(conn, sql)
def main():
conn_args = dict(host='127.0.0.1',
user='root',
passwd='123456',
port=3307,
db='userinfo')
with get_conn(**conn_args) as conn:
with conn as cur:
cur.execute('select * from userinfo_user')
rows = cur.fetchall()
for row in rows:
print(row)
if __name__ == '__main__':
main()
(100, '张三', 18)
(101, '李四', 19)
写一个stocks.scv文件,里面内容为
Symbol, Price, Date, Time, Change, Volume
'AA', 39.48, '6/11/2007', '9:36am', -0.18, 181800
'AIG', 71.38, '6/11/2007', '9:36am', -0.15, 195500
'AXP', 62.58, '6/11/2007', '9:36am', -0.46, 935000
'BA', 98.31, '6/11/2007', '9:36am', +0.12, 104800
'C', 53.08, '6/11/2007', '9:36am', -0.25, 360900
'CAT', 78.29, '6/11/2007', '9:36am', -0.23, 225400
# coding=utf-8
import csv
with open('stocks.csv') as f:
f_csv = csv.reader(f)
#取出csv文件头:表头
headers = next(f_csv)
#遍历表头意外的行
for row in f_csv:
print(row)
["'AA'", ' 39.48', " '6/11/2007'", " '9:36am'", ' -0.18', ' 181800']
["'AIG'", ' 71.38', " '6/11/2007'", " '9:36am'", ' -0.15', ' 195500']
["'AXP'", ' 62.58', " '6/11/2007'", " '9:36am'", ' -0.46', ' 935000']
["'BA'", ' 98.31', " '6/11/2007'", " '9:36am'", ' +0.12', ' 104800']
["'C'", ' 53.08', " '6/11/2007'", " '9:36am'", ' -0.25', ' 360900']
["'CAT'", ' 78.29', " '6/11/2007'", " '9:36am'", ' -0.23', ' 225400']
print(exampleData[5][5])
360900
# coding=utf-8
import csv
from collections import namedtuple
with open('stocks.csv') as f:
f_csv = csv.reader(f)
#取出csv文件头:表头
headers = next(f_csv)
#遍历表头意外的行
Row = namedtuple("Row",'headers')
for r in f_csv:
row = Row(r)
print(row)
Row(headers=["'AA'", ' 39.48', " '6/11/2007'", " '9:36am'", ' -0.18', ' 181800'])
Row(headers=["'AIG'", ' 71.38', " '6/11/2007'", " '9:36am'", ' -0.15', ' 195500'])
Row(headers=["'AXP'", ' 62.58', " '6/11/2007'", " '9:36am'", ' -0.46', ' 935000'])
Row(headers=["'BA'", ' 98.31', " '6/11/2007'", " '9:36am'", ' +0.12', ' 104800'])
Row(headers=["'C'", ' 53.08', " '6/11/2007'", " '9:36am'", ' -0.25', ' 360900'])
Row(headers=["'CAT'", ' 78.29', " '6/11/2007'", " '9:36am'", ' -0.23', ' 225400'])
import csv
exampleFile = open('stocks.csv')
exampleReader = csv.reader(exampleFile)
for row in exampleReader:
print('Row #' + str(exampleReader.line_num) + ' ' + str(row))
Row #1 ['Symbol', ' Price', ' Date', ' Time', ' Change', ' Volume']
Row #2 ["'AA'", ' 39.48', " '6/11/2007'", " '9:36am'", ' -0.18', ' 181800']
Row #3 ["'AIG'", ' 71.38', " '6/11/2007'", " '9:36am'", ' -0.15', ' 195500']
Row #4 ["'AXP'", ' 62.58', " '6/11/2007'", " '9:36am'", ' -0.46', ' 935000']
Row #5 ["'BA'", ' 98.31', " '6/11/2007'", " '9:36am'", ' +0.12', ' 104800']
Row #6 ["'C'", ' 53.08', " '6/11/2007'", " '9:36am'", ' -0.25', ' 360900']
Row #7 ["'CAT'", ' 78.29', " '6/11/2007'", " '9:36am'", ' -0.23', ' 225400']
import csvoutputFile = open('output.csv','w',newline='')outputWriter = csv.writer(outputFile)outputWriter.writerow(['spam','eggs','bacon','ham'])outputWriter.writerow(['Hello,world','eggs','bacon','ham'])outputWriter.writerow([1,2,3.141592,4])outputFile.close()
会生成新的ooutput.csv文件
spam,eggs,bacon,ham
"Hello,world",eggs,bacon,ham
1,2,3.141592,4
import csv
csvFile = open('example.csv','w',newline='')
csvWriter = csv.writer(csvFile,delimiter='\t',lineterminator='\n\n')
csvWriter.writerow(['apples','oranges','grapes'])
csvWriter.writerow(['eggs','bacon','ham'])
csvWriter.writerow(['spam','spam','spam','spam','spam','spam'])
csvFile.close()
apples oranges grapes
eggs bacon ham
spam spam spam spam spam spam
先新建data.csv文件
Symbol,Price,Date
AA, 39.48, 6/11/2007
AIG, 71.38, 6/11/2007
AXP, 62.58, 6/11/2007
BA, 98.31, 6/11/2007
C, 53.08, 6/11/2007
CAT, 78.29, 6/11/2007
编写代码
# coding=utf-8
import pymysql as db
import csv
from collections import namedtuple
from contextlib import contextmanager
@contextmanager
def get_conn(**kwargs):
'''获取mysql数据库连接'''
conn = db.connect(
host=kwargs.get('host'),
user=kwargs.get('user'),
passwd=kwargs.get('passwd'),
port=kwargs.get('port', 3306),
db=kwargs.get('db'))
try:
yield conn
finally:
if conn:
conn.close()
def get_data(filename):
'''读取csv文件'''
with open(filename) as f:
f_csv = csv.reader(f)
# 取出csv文件头:表头
headers = next(f_csv)
# 遍历表头以外的所有行
Row = namedtuple("Row", ['Symbol', 'Price', 'Date'])
for r in f_csv:
yield Row(*r)
def execute_sql(conn, sql):
'''执行SQL的函数'''
with conn as cur:
cur.execute(sql)
def create_table(conn):
'''创建新表'''
sql_drop_table = 'drop table if exists data_csv'
sql_create_table = '''create table `data_csv`(
`Symbol` varchar (20) not null,
`Price` decimal not null,
`Date` varchar (20) default null) engine=innodb default charset=utf8mb4
'''
for sql in [sql_drop_table, sql_create_table]:
execute_sql(conn, sql)
def insert_data(conn, symbol, price, date):
insert_format = "insert into data_csv values('{0}','{1}','{2}')"
sql = insert_format.format(symbol, price, date)
execute_sql(conn, sql)
def main():
conn_args = dict(host='127.0.0.1',
user='root',
passwd='123456',
port=3307,
db='userinfo')
with get_conn(**conn_args) as conn:
with conn as cur:
# create_table(conn)
for t in get_data('data.csv'):
insert_data(conn, t.Symbol, t.Price, t.Date)
if __name__ == '__main__':
main()