寒假打卡24-2月11日
数据存储
在本篇文章中,我们将介绍如何使用 Python 存储数据,包括将数据存储到 CSV、JSON 文件,以及 MySQL、PostgreSQL 和 MongoDB 数据库。我们还将介绍 Redis 在爬虫中的应用。
1. 存储数据到 CSV 文件
基本用法
使用 csv 模块将数据写入 CSV 文件。
import csv
data = [
{'name': 'Alice', 'age': 30, 'city': 'New York'},
{'name': 'Bob', 'age': 25, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'Chicago'}
]
with open('data.csv', 'w', newline='') as csvfile:
fieldnames = ['name', 'age', 'city']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for row in data:
writer.writerow(row)
读取 CSV 文件
使用 csv 模块读取 CSV 文件。
import csv
with open('data.csv', 'r') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row)
2. 存储数据到 JSON 文件
基本用法
使用 json 模块将数据写入 JSON 文件。
import json
data = [
{'name': 'Alice', 'age': 30, 'city': 'New York'},
{'name': 'Bob', 'age': 25, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'Chicago'}
]
with open('data.json', 'w') as jsonfile:
json.dump(data, jsonfile, indent=4)
读取 JSON 文件
使用 json 模块读取 JSON 文件。
import json
with open('data.json', 'r') as jsonfile:
data = json.load(jsonfile)
print(data)
3. 存储数据到 MySQL 数据库
安装 pymysql
首先,我们需要安装 pymysql。可以使用以下命令通过 pip 安装:
pip install pymysql
基本用法
使用 pymysql 连接 MySQL 数据库并存储数据。
import pymysql
# 连接 MySQL 数据库
connection = pymysql.connect(
host='localhost',
user='yourusername',
password='yourpassword',
database='yourdatabase'
)
try:
with connection.cursor() as cursor:
# 创建表
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
age INT,
city VARCHAR(255)
)
""")
# 插入数据
sql = "INSERT INTO users (name, age, city) VALUES (%s, %s, %s)"
data = [
('Alice', 30, 'New York'),
('Bob', 25, 'San Francisco'),
('Charlie', 35, 'Chicago')
]
cursor.executemany(sql, data)
connection.commit()
finally:
connection.close()
读取数据
使用 pymysql 读取 MySQL 数据库中的数据。
import pymysql
# 连接 MySQL 数据库
connection = pymysql.connect(
host='localhost',
user='yourusername',
password='yourpassword',
database='yourdatabase'
)
try:
with connection.cursor() as cursor:
# 查询数据
cursor.execute("SELECT * FROM users")
result = cursor.fetchall()
for row in result:
print(row)
finally:
connection.close()
4. 存储数据到 MongoDB 数据库
安装 pymongo
首先,我们需要安装 pymongo。可以使用以下命令通过 pip 安装:
pip install pymongo
基本用法
使用 pymongo 连接 MongoDB 数据库并存储数据。
import pymongo
# 连接 MongoDB 数据库
client = pymongo.MongoClient('localhost', 27017)
db = client['yourdatabase']
collection = db['users']
# 插入数据
data = [
{'name': 'Alice', 'age': 30, 'city': 'New York'},
{'name': 'Bob', 'age': 25, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'Chicago'}
]
collection.insert_many(data)
读取数据
使用 pymongo 读取 MongoDB 数据库中的数据。
import pymongo
# 连接 MongoDB 数据库
client = pymongo.MongoClient('localhost', 27017)
db = client['yourdatabase']
collection = db['users']
# 查询数据
for user in collection.find():
print(user)
5. Redis 在爬虫中的应用
安装 redis-py
首先,我们需要安装 redis-py。可以使用以下命令通过 pip 安装:
pip install redis
基本用法
使用 redis-py 连接 Redis 数据库并存储数据。
import redis
# 连接 Redis 数据库
client = redis.StrictRedis(host='localhost', port=6379, db=0)
# 存储数据
client.set('name', 'Alice')
client.set('age', 30)
client.set('city', 'New York')
读取数据
使用 redis-py 读取 Redis 数据库中的数据。
import redis
# 连接 Redis 数据库
client = redis.StrictRedis(host='localhost', port=6379, db=0)
# 读取数据
name = client.get('name').decode('utf-8')
age = int(client.get('age'))
city = client.get('city').decode('utf-8')
print(f'Name: {name}, Age: {age}, City: {city}')
总结
在本篇文章中,我们介绍了如何使用 Python 存储数据,包括将数据存储到 CSV、JSON 文件,以及 MySQL、PostgreSQL 和 MongoDB 数据库。我们还介绍了 Redis 在爬虫中的应用。通过掌握这些知识,你能够将爬取的数据保存到不同的数据存储中,以便 ▋
浙公网安备 33010602011771号