python csv转db 之后读取db文件内容
时间: 2024-12-21 16:28:43 浏览: 3
csv2sql:将CSV文件转换为SQLite DB
5星 · 资源好评率100%
在Python中,将CSV数据转换到数据库(如MySQL、SQLite等)通常涉及两个步骤:首先,使用pandas库读取CSV文件并将其存储为DataFrame;然后,将DataFrame的数据插入到数据库表中。
以下是使用pandas操作CSV文件,并将其内容保存到SQLite数据库的一个简单示例:
```python
import pandas as pd
import sqlite3
# 步骤一:读取CSV文件
data = pd.read_csv('input.csv')
# 步骤二:创建或连接到SQLite数据库(假设已存在'test.db')
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 创建数据库表,如果不存在
table_name = 'your_table_name'
columns = data.columns.tolist()
sql_create_table = f"CREATE TABLE IF NOT EXISTS {table_name} ({', '.join(columns)})"
cursor.execute(sql_create_table)
# 步骤三:将DataFrame数据写入数据库
data.to_sql(table_name, conn, if_exists='append', index=False) # 如果你想追加数据,可以设置if_exists='append'
# 最后,记得提交事务并关闭连接
conn.commit()
conn.close()
```
读取已经存在的数据库文件并获取内容,你可以这样做:
```python
# 连接到数据库
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
# 查询数据
query = "SELECT * FROM your_table_name"
results = cursor.execute(query).fetchall() # 获取所有行
# 将结果转换回pandas DataFrame
data_from_db = pd.DataFrame(results, columns=columns)
# 关闭连接
conn.close()
# 现在你可以处理data_from_db,它包含了从数据库读取的内容
```
阅读全文