def insert(db, tablename, values, _charset=CHARSET):
conn = pymysql.connect(host=HOST,
port=PORT,
user=USER,
passwd=PWD,
db=db,
charset=_charset
cursor = conn.cursor() # 游标对象,用于执行查询和获取结果
sql = 'insert into ' + db + '.' + tablename + ' ('
temp = ''
for key in values.keys():
sql += key + ' ,'
value = values[key]
if type(value) == type(""):
value = value.replace('\'', '"').replace('\\', '\\\\')
temp += '\'' + value + '\' ,'
else:
temp += str(value) + ' ,'
sql = sql[:-1] + ') values (' + temp[:-1] + ')'
# print(sql)
cursor.execute(sql)
conn.commit()
# print("记录插入成功!")
conn.close()
def select(db, tablename, condition=None, _charset=CHARSET):
conn = pymysql.connect(host=HOST,
port=PORT,
user=USER,
passwd=PWD,
db=db,
charset=_charset
cursor = conn.cursor() # 游标对象,用于执行查询和获取结果
sql = 'select * from ' + db + '.' + tablename
if condition:
sql += ' where'
for key in condition.keys():
value = condition[key]
if type(value) == type(""):
value = value.replace('\'', '"').replace('\\', '\\\\')
value = '\'' + value + '\''
else:
value = str(value)
sql += ' ' + key + ' = ' + value + ' and'
sql = sql[:-3]
# print(sql)
cursor.execute(sql)
result = cursor.fetchall()
conn.commit()
conn.close()
return result
def update(db, tablename, values, condition, _charset=CHARSET):
conn = pymysql.connect(host=HOST,
port=PORT,
user=USER,
passwd=PWD,
db=db,
charset=_charset
cursor = conn.cursor() # 游标对象,用于执行查询和获取结果
sql = 'update ' + db + '.' + tablename + ' set '
for key in values.keys():
if key in condition:
continue
value = values[key]
if type(value) == type(""):
value = value.replace('\'', '"').replace('\\', '\\\\')
value = '\'' + value + '\''
else:
value = str(value)
sql += ' ' + key + ' = ' + value + ' ,'
# update spark.challenge set xx = x , xx = x where xx = x 中前面set是用, 不是and连接
sql = sql[:-1] + ' where '
for key in condition.keys():
value = condition[key]
if type(value) == type(""):
value = value.replace('\'', '"').replace('\\', '\\\\')
value = '\'' + value + '\''
else:
value = str(value)
sql += ' ' + key + ' = ' + value + ' and'
sql = sql[:-3] + ';'
print(sql)
cursor.execute(sql)
conn.commit()
conn.close()
def delete(db, tablename, condition, _charset=CHARSET):
conn = pymysql.connect(host=HOST,
port=PORT,
user=USER,
passwd=PWD,
db=db,
charset=_charset
cursor = conn.cursor() # 游标对象,用于执行查询和获取结果
sql = 'delete from ' + db + '.' + tablename + ' where '
for key in condition.keys():
value = condition[key]
if type(value) == type(""):
value = value.replace('\'', '"').replace('\\', '\\\\')
value = '\'' + value + '\''
else:
value = str(value)
sql += ' ' + key + ' = ' + value + ' and'
sql = sql[:-3]
# print(sql)
cursor.execute(sql)
conn.commit()
conn.close()
def executeSql(db, sql_string, _charset=CHARSET):
conn = pymysql.connect(host=HOST,
port=PORT,
user=USER,
passwd=PWD,
db=db,
charset=_charset
cursor = conn.cursor() # 游标对象,用于执行查询和获取结果
cursor.execute(sql_string)
result = None
if sql_string.find('select') > -1 or sql_string.find('show') > -1:
result = cursor.fetchall()
conn.commit()
conn.close()
return result
def pd_to_sql(data, database, table_name, if_index=False, if_exists='replace', dtype=None):
# if_exists='append'则为如果表存在则新数据扩展而不是替换表
engine = sqlalchemy.create_engine('mysql+pymysql://' + USER + ':' + PWD + '@' + HOST + ':' + str(PORT) + '/' + database)
if dtype:
data.to_sql(table_name, engine, index=if_index, if_exists=if_exists,
dtype=dtype)
else:
data.to_sql(table_name, engine, index=if_index, if_exists=if_exists)
print('the dataframe has been written into mysql table %s successfully!' % table_name)
Pandas
执行
SQL
操作
我们知道,使用
SQL
语句能够完成对 table 的增删改查操作,
Pandas
同样也可以实现
SQL
语句的基本功能。本节主要讲解
Pandas
如何执行
SQL
操作。
首先加载一个某连锁咖啡厅地址分布的
数据
集,通过该
数据
集对本节内容进行讲解。
import
pandas
as pd
url = 'C:/Users/Administrator/Desktop/coffee/kafei.xlsx'
coffee_df=pd.read_excel(url)
coffee_df.
II. pd.read_
sql
()
III. df.to_
sql
()I.
sql
alchemy创建
mysql
连接create_engine(*args, **kwargs)
标准调用方式是将URL作为第一个位置参数
形如``dialect[+driver]://user:password@host/dbname[?key=va...
Python
是一种广泛应用于
数据
处理和
数据
分析方面的编程语言。而
Pandas
则是
Python
的一个非常受欢迎的
数据
处理库。
Pandas
拥有许多强大的函数和方法可以进行各种操作,如
数据
过滤、
数据
排序、
数据
统计等。
在使用
Pandas
进行
数据
处理时,如何将处理好的
数据
添加
到Excel文件中呢?可以通过以下步骤实现。
首先,导入
Pandas
库:
import
pandas
as pd
然后读取Excel文件中的
数据
,可以使用
Pandas
的read_excel()函数读取Excel文件中的
数据
:
data = pd.read_excel('filename.xlsx')
接下来,对
数据
进行处理,并将处理后的
数据
存储为
Pandas
的DataFrame对象:
df = pd.DataFrame(data)
最后,将DataFrame对象写入Excel文件中,可以使用
Pandas
的to_excel()函数:
df.to_excel('new_filename.xlsx', index=False)
to_excel()函数可以将DataFrame对象写入Excel文件中。参数index=False可以去除写入的Excel文件中的索引列。
通过以上步骤,就可以将
Pandas
数据
添加
到Excel文件中。这对于需要将
Python
程序处理的
数据
保存到Excel文件中,以供其他使用者查看和分析,具有较高的实用价值。