一日一技:从Pandas DataFrame的两个使用小技巧

2023年 9月 6日 79.0k 0

正常情况下,我们只需要5行代码就能解决问题:

import pandas as pd
from sqlalchemy import create_engine


engine = create_engine('数据库链接URI', echo=False)
df = pd.read_excel('Excel文件路径')
df.to_sql(name='表名', con=engine)

但我发现,这个下载的文件有两个工作簿(Sheet),第一个Sheet叫做Overall,第二个Sheet叫做Result。我们需要的数据在Result这个工作簿中。那么,在使用Pandas读取时,需要这样写代码:

df = pd.read_excel('文件路径', 'Result')

第二个问题,是这个Excel表格的列名,包含了一些不能作为MySQL字段名的值,如下图所示:

图片图片

其中的空格、括号、百分号、&符号都不适合放到MySQL的字段名中。那么怎么快速批量把这些字符全部替换掉呢?可以使用如下的写法:

df.columns = df.columns.str.strip().str.lower().str.replace(' ', '_').str.replace('(', '').str.replace(')', '').str.replace('%', 'percent_unit').str.replace('&', '_and_')

这样可以批量把所有列名转换为小写字母,并移除特殊符号。效果如下图所示:

图片图片

图片图片

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论