如何使用Python从CSV文件中导入数据到数据库?

  • Post category:Python

要使用Python将CSV文件中的数据导入到数据库中,可以使用Python的内置模块csv和第三方库pandas。以下是使用这两种方法将CSV文件中的数据导入到数据库的完整攻略:

使用csv模块

csv模块将CSV文件中的数据导入到数据库中,需要先连接到数据库,然后使用csv.reader()方法读取CSV文件中的数据,并使用SQL语句将数据插入到数据库中。以下是一个示例,该示例将一个名为data.csv的文件中的数据插入到名为students的表中:

import csv
import mysql.connector

# 连接到MySQL数据库
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

# 读取CSV文件并插入数据到MySQL数据库
with open('data.csv', mode='r as file:
    reader = csv.reader(file)
    next(reader) # 跳过标题行
    for row in reader:
        sql = "INSERT INTO students (name, age, grade) VALUES (%s, %s, %s)"
        val = (row[0], row[1], row[2])
        mycursor = mydb.cursor()
        mycursor.execute(sql, val)
        mydb.commit()

在上面的示例中,我们使用csv.reader()方法读取CSV文件中的数据,并使用next()方法跳过标题行。然后,我们使用SQL语句将数据插入到MySQL数据库中。

使用pandas库

使用pandas库将CSV文件中的数据导入到数据库中,需要先连接到数据库,然后使用pandas.read_csv()方法读取CSV文件中的数据,并使用DataFrame.to_sql()方法将数据插入到数据库中。以下是一个示例,该示例将一个名为data.csv的文件中的数据插入到名为students的表中:

“`pythonimport pandas as
import mysql.connector

连接到MySQL数据库

mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)

读取CSV文件并插入数据到MySQL数据库

data = pd.read_csv(‘data.csv’)
data.to_sql(‘students’, con=mydb, if_exists=’append’, index=False)


在上面的示例中,我们使用`pandas.read_csv()`方法读取CSV文件中的数据,并使用`DataFrame.to_sql()`方法将数据插入到MySQL数据库中。

## 示例1

在这个示例中,我们将使用`csv`模块将一个名为`students.csv`的CSV文件中的数据插入到名为`students`的表中。

```python
import csv
import mysql.connector

# 连接到MySQL数据库
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

# 读取CSV文件并插入数据到MySQL数据库
with open('students.csv', mode='r') as file:
    reader = csv.reader(file)
    next(reader) # 跳过标题行
    for row in reader:
        sql = "INSERT INTO students (name, age, grade) VALUES (%s, %s, %s)"
        val = (row[0], row[1], row[2])
        mycursor = mydb.cursor()
        mycursor.execute(sql, val)
        mydb.commit()

在上面的示例中,我们使用csv.reader()方法读取CSV文件中的数据,并使用SQL语将数据插入到MySQL数据库中。

示例2

在这个示例中,我们将使用pandas库将一个名为employees.csv的CSV文件中的数据插入到名为employees的表中。

“`pythonimport pandas as pd
import mysql.connector

连接到MySQL数据库

mydb = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”mydatabase”
)

读取CSV文件并插入数据到MySQL数据库

data = pd.read_csv(’employees.csv’)
data.to_sql(’employees’, con=mydb, if_exists=’append’, index=False)
“`

在上面的示例中,我们使用pandas.read_csv()方法读取CSV文件中的数据使用DataFrame.to_sql()方法将数据插入到MySQL数据库中。

以上是使用Python将CSV文件中的数据导入到数据库中的完整攻略,包括使用csv模块和pandas库。示例1演示了如何使用csv模块将一个名为students.csv的CSV文件中的数据插入到名为students的表中。示例2演示了如何使用pandas库将一个名为employees.csv的CSV文件中的数据插入到名为employees的表中。