怎么读取csv文件,写入到数据库表中
时间: 2023-10-04 18:04:47 浏览: 109
java使用javacsv读取csv文件 导入Mysql数据库
读取CSV文件并将其写入数据库表中可以遵循以下步骤:
1. 导入必要的Python模块:csv和pandas用于读取CSV文件,以及pymysql以连接MySQL数据库。
```python
import csv
import pandas as pd
import pymysql
```
2. 从CSV文件中读取数据并将其存储在Pandas DataFrame中。
```python
data = pd.read_csv('file.csv')
```
3. 连接到MySQL数据库并创建游标。
```python
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb', charset='utf8mb4')
cursor = conn.cursor()
```
4. 遍历Pandas DataFrame并使用游标将数据插入到MySQL数据库表中。
```python
for index, row in data.iterrows():
cursor.execute("INSERT INTO tablename(column1, column2, column3) VALUES(%s, %s, %s)", (row['column1'], row['column2'], row['column3']))
conn.commit()
```
5. 关闭游标和数据库连接。
```python
cursor.close()
conn.close()
```
完整代码如下:
```python
import csv
import pandas as pd
import pymysql
data = pd.read_csv('file.csv')
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb', charset='utf8mb4')
cursor = conn.cursor()
for index, row in data.iterrows():
cursor.execute("INSERT INTO tablename(column1, column2, column3) VALUES(%s, %s, %s)", (row['column1'], row['column2'], row['column3']))
conn.commit()
cursor.close()
conn.close()
```
其中,`file.csv` 是CSV文件的路径,`testdb` 是MySQL数据库的名称,`tablename` 是要将数据插入的表的名称,`column1`、`column2` 和 `column3` 是表中的列名。请根据实际情况进行修改。
阅读全文