import pymysql python。 保存to.sql时候,对ts_code列中 883开头的 使用replace 其余的使用append
时间: 2024-03-20 22:41:50 浏览: 109
python-mysql.zip_MYSQL_pymysql_python MySQL_python连接mysql_连接数据库
5星 · 资源好评率100%
好的,如果您使用的是 MySQL 数据库,可以使用以下代码实现:
```python
import pandas as pd
import pymysql
# 建立数据库连接
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='password',
database='database_name'
)
# 读取数据
df = pd.read_csv('data.csv')
# 筛选出ts_code列中以883开头的数据
replace_df = df[df['ts_code'].str.startswith('883')]
# 筛选出ts_code列中不以883开头的数据
append_df = df[~df['ts_code'].str.startswith('883')]
# 将replace_df保存到to表中,使用replace模式
replace_df.to_sql('to', conn, if_exists='replace', index=False)
# 将append_df保存到to表中,使用append模式
append_df.to_sql('to', conn, if_exists='append', index=False)
# 关闭数据库连接
conn.close()
```
这里的代码中,我假设您已经安装了 PyMySQL 库,并将其导入。同时,您需要将代码中的 `localhost`、`port`、`user`、`password`、`database_name` 等参数进行相应修改,以符合您的实际情况。
另外,如果您的数据中包含中文字符,建议在连接数据库时设置字符集,例如:
```python
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='password',
database='database_name',
charset='utf8'
)
```
这样可以避免出现中文乱码等问题。
阅读全文