python读取csv文件内容写入到sqlite3
时间: 2023-10-02 11:13:28 浏览: 278
以下是一个示例代码,可以读取CSV文件并将其写入SQLite3数据库中:
```python
import csv
import sqlite3
# 打开CSV文件
with open('data.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
# 连接SQLite3数据库
conn = sqlite3.connect('test.db')
c = conn.cursor()
# 创建表格
c.execute('''CREATE TABLE IF NOT EXISTS data
(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# 将数据插入表格
for row in csv_reader:
c.execute("INSERT INTO data (name, age) VALUES (?, ?)", (row[0], row[1]))
# 提交更改并关闭连接
conn.commit()
conn.close()
```
在此示例中,我们将CSV文件中的第一列作为“name”字段,第二列作为“age”字段,并将它们插入到名为“data”的SQLite3表中。请注意,我们还在代码中创建了一个SQLite3数据库,并在其中创建了一个名为“test.db”的文件。
相关问题
python 将csv文件写入数据库
将 CSV 文件写入数据库通常需要先将 CSV 文件读取到内存中,然后再将其写入到数据库中。以下是 Python 将 CSV 文件写入数据库的基本步骤:
1. 连接数据库,打开游标。
2. 打开 CSV 文件,读取数据。
3. 遍历 CSV 数据,将每一行数据插入到数据库中。
4. 关闭 CSV 文件和数据库连接。
下面是一个示例代码,假设你要将一个名为 `example.csv` 的文件写入名为 `example_table` 的数据库表中。
```python
import csv
import sqlite3
# 连接数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 创建表格
cursor.execute('''CREATE TABLE example_table (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
# 打开 CSV 文件
with open('example.csv', 'r') as f:
reader = csv.reader(f)
next(reader) # 跳过标题行
# 遍历 CSV 数据,将每一行数据插入到数据库中
for row in reader:
cursor.execute("INSERT INTO example_table (name, age) VALUES (?, ?)", (row, row))
# 提交更改并关闭连接
conn.commit()
conn.close()
```
Python如何将csv写入sqlite
可以使用Python的sqlite3模块来将csv文件写入sqlite数据库。具体步骤如下:
1. 首先,需要导入sqlite3模块,并连接到sqlite数据库。
2. 然后,使用Python的csv模块读取csv文件。
3. 接着,使用sqlite3模块的`execute()`方法,向数据库中写入数据。
4. 最后,使用sqlite3模块的`commit()`方法,提交事务。
下面是一个示例代码:
```python
import sqlite3
import csv
# 连接到sqlite数据库
conn = sqlite3.connect("database.db")
# 读取csv文件
with open("data.csv", "r") as f:
reader = csv.reader(f)
# 忽略第一行(标题行)
next(reader)
# 遍历每一行
for row in reader:
# 向数据库中写入数据
conn.execute("INSERT INTO table_name VALUES (?, ?, ?)", row)
# 提交事务
conn.commit()
# 关闭连接
conn.close()
```
在上面的代码中,我们假设csv文件的第一行是标题行,并使用`next()`函数忽略它。然后,我们使用`for`循环遍历每一行,并使用`execute()`方法向数据库中写入数据。最后,我们使用`commit()`方法提交事务,并使用`close()`方法关闭数据库连接。
希望这能帮到你!
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)