📜  使用PythonGoogle Sheets 数据存储到 SQLite 数据库中(1)

📅  最后修改于: 2023-12-03 14:49:49.659000             🧑  作者: Mango

使用Python Google Sheets 数据存储到 SQLite 数据库中

简介

本文介绍如何使用Python将Google Sheets中的数据存储到SQLite数据库中。SQLite是一种轻型的关系型数据库管理系统,适用于小型应用场景。

我们将使用Python第三方库gspread和sqlite3。gspread是一个Python API,可以用于访问和修改Google网页表格。sqlite3是Python自带的模块,用于对SQLite数据库进行操作。

环境

在开始之前,请确保您已经安装好以下软件:

  • Python(建议使用Python 3.x版本)
  • pip(Python包管理器)
  • gspread
  • oauth2client
  • sqlite3

可以使用以下命令在命令行中安装这些软件:

pip install gspread
pip install oauth2client
步骤
步骤1:创建Google API密钥

首先,我们需要创建一个Google API密钥,以使Python能够与Google Sheets进行通信。

  1. 前往Google Cloud Console,并创建一个新的项目。
  2. 在项目中启用Google Sheets API。
  3. 在左侧的导航栏中,点击“凭据”(Credentials)选项。
  4. 点击“创建凭据”(Create Credentials),选择“服务帐户密钥”(Service Account Key)。
  5. 在“服务帐户”(Service account)一栏中,选择“新建服务帐户”(New Service Account)。
  6. 输入帐户名称,选择“项目”角色,并点击“创建”(Create)。
  7. 在“密钥类型”(Key type)一栏中,选择“JSON”格式,并点击“创建”。
  8. 下载并保存JSON文件,该文件包含了我们需要使用的必要信息。
步骤2:连接到Google Sheets

接下来,我们将使用gspread来连接到Google Sheets并读取数据。

  1. 从Google API密钥JSON文件中,获取客户端电子邮件地址和私钥信息。
  2. 使用以下代码,将私钥信息存储为文件,并读取该文件:
from oauth2client.service_account import ServiceAccountCredentials

# 填写Google API密钥JSON文件路径
json_file_path = '/path/to/google/api/key/file.json'

# 读取私钥信息
credentials = ServiceAccountCredentials.from_json_keyfile_name(
    json_file_path, ['https://www.googleapis.com/auth/spreadsheets', 'https://www.googleapis.com/auth/drive'])

  1. 使用以下代码,连接到Google Sheets:
import gspread

# 填写Google Sheets文件名称
google_sheet_name = 'My Google Spreadsheet'

# 创建gspread客户端
gc = gspread.authorize(credentials)

# 打开Google Sheets文件
google_sheet = gc.open(google_sheet_name)

# 选择工作表
worksheet = google_sheet.worksheet('Sheet1')

# 获取数据
data = worksheet.get_all_values()

步骤3:连接到SQLite数据库

接下来,我们将使用sqlite3库连接到SQLite数据库。

  1. 使用以下代码,连接到SQLite数据库:
import sqlite3

# 填写SQLite数据库文件路径
sqlite_db_file_path = '/path/to/sqlite/db/file.db'

# 连接到SQLite数据库
conn = sqlite3.connect(sqlite_db_file_path)

  1. 创建一个游标对象,并使用它来执行SQL查询:
c = conn.cursor()

# 执行SQL查询
c.execute('SELECT * FROM my_table')

# 将结果存储为一个Python列表
result = c.fetchall()

步骤4:将数据存储到SQLite数据库

最后,我们将使用Python将Google Sheets中的数据存储到SQLite数据库中。

  1. 使用以下代码创建一个新的表:
# 创建一个表
c.execute('''CREATE TABLE my_table
             (column1 TEXT, column2 INTEGER, column3 REAL)''')

  1. 使用以下代码,将数据插入到刚刚创建的表中:
# 创建要插入的数据
data_to_insert = [('value1', 1, 1.1), ('value2', 2, 2.2), ('value3', 3, 3.3)]

# 插入数据
c.executemany('INSERT INTO my_table VALUES (?,?,?)', data_to_insert)

  1. 在完成所有操作后,应该关闭游标和连接:
# 关闭游标和连接
c.close()
conn.close()

结论

本文介绍了如何使用Python将Google Sheets中的数据存储到SQLite数据库中。SQLite是一种轻型的关系型数据库管理系统,适用于小型应用场景。使用gspread和sqlite3,我们可以轻松地连接到Google Sheets和SQLite数据库,并将数据转移。