Làm cách nào để tạo cơ sở dữ liệu sqlite từ tệp csv trong python?

Bây giờ, để giải quyết yêu cầu này, chúng tôi sẽ sử dụng hai mô-đun. sqlite3 và gấu trúc. Vì vậy, hãy thảo luận về những điều này đầu tiên

mô-đun sqlite3 được sử dụng để truy cập cơ sở dữ liệu SQLite trong Python. SQLite là một công cụ cơ sở dữ liệu SQL độc lập, có độ tin cậy cao, được nhúng, đầy đủ tính năng, miền công cộng. Nó là công cụ cơ sở dữ liệu được sử dụng nhiều nhất trên web trên toàn thế giới

Pandas là một thư viện mã nguồn mở được xây dựng dựa trên thư viện NumPy. Đây là gói Python cung cấp các cấu trúc dữ liệu và hoạt động khác nhau để thao tác dữ liệu số và chuỗi thời gian. Nó chủ yếu phổ biến để nhập và phân tích dữ liệu dễ dàng hơn nhiều. Pandas nhanh và có hiệu suất và năng suất cao cho người dùng

Bây giờ, hãy xem cách nhập dữ liệu tệp CSV vào bảng cơ sở dữ liệu SQLite bằng Python.
Cách tiếp cận.

  • Nhập mô-đun cần thiết
Syntax: import moduleName
  • Tạo một đối tượng kết nối với cơ sở dữ liệu hiện có hoặc tạo một cơ sở dữ liệu mới và kết nối nó bằng cách sử dụng lớp connect[] của mô-đun sqlite3
Syntax: sqlite3.connect[‘databaseName.db’]
  • Tạo đối tượng con trỏ bằng phương thức con trỏ [] của đối tượng kết nối
Syntax: connection_object.cursor[]
  • Tạo một bảng mới bằng cách thực hiện tạo truy vấn SQL bằng cách sử dụng phương thức exec[] của đối tượng con trỏ
Syntax: cursor_object.execute["Sql Query"]
  • Nhập tệp CSV bằng phương thức read_csv[] của pandas
Syntax: pandas.read_csv[‘file_name.csv’]
  • Viết nội dung vào một bảng mới bằng phương thức to_sql[] của khung dữ liệu

Hàm to_sql[] tạo một bảng mới từ các bản ghi của khung dữ liệu. Truyền tên bảng và đối tượng kết nối bên trong chức năng này. Tên cột của bảng giống với tiêu đề của tệp CSV. Theo mặc định, chỉ mục khung dữ liệu được viết dưới dạng cột. Chỉ cần chuyển tham số chỉ mục thành Sai để xóa cột này. Ngoài ra, tham số if_exists chỉ định hành vi trong trường hợp tên bảng đã được sử dụng. Nó có thể gây ra lỗi [không đạt], nối thêm các giá trị mới hoặc thay thế bảng hiện có

Rất ít người quen thuộc với SQL hơn là chạy các điều kiện trên dữ liệu bằng python và việc chạy các truy vấn SQL trên dữ liệu hiệu quả hơn và yêu cầu ít dòng hơn trong python trong hầu hết các trường hợp

chúng tôi có một gói có tên “csv-to-sqlite” trong Python, chúng tôi có thể nhập mô-đun bằng cách sử dụng pip. cái nào chuyển đổi. tệp csv thành. tập tin sqlite

pip install csv-to-sqlite

Sau khi cài đặt bằng gói nhập pip

import csv_to_sqlite

Sau khi nhập gói, trước khi chuyển đổi thành. sqlite chúng ta cần chỉ định loại tệp[“your_csv_file. csv”] đó là định dạng mã hóa dữ liệu và dấu phân cách dữ liệu. Dấu phân cách mặc định là dấu phẩy[‘,’] chúng ta có thể thay đổi theo định dạng dữ liệu trong tệp csv

options=csv_to_sqlite.CsvOptions[typing_style=”full”,encoding=”windows-1250"]
csv_to_sqlite.write_csv["your_csv_file.csv", "output.sqlite", options]

Sau khi thực hiện các dòng mã trên, bây giờ tệp csv của bạn đã được chuyển đổi thành sqlite trong thư mục hiện tại. Ở đây, trong trường hợp này, nó được tạo với tên tệp “đầu ra. sqlite”

Bây giờ chúng tôi có. sqlite làm cách nào chúng ta có thể chạy các truy vấn SQL trên đó bằng Python ?????? . Sau khi nhập gói này, chúng tôi cần tạo kết nối với cơ sở dữ liệu mà chúng tôi cần thực hiện các truy vấn SQL

________số 8

Ở đây sau khi chuyển đổi csv thành sqlite, một điểm rất quan trọng. Trong tệp sqlite, tên cơ sở dữ liệu là tên của tệp csv. Điều đó có nghĩa là ở đây chúng tôi chuyển đổi your_csv_file. csv -> đầu ra. sqlite. Vì vậy, tên bảng cơ sở dữ liệu trong sqlite là your_csv_file

Mã nguồn

import sqlite3
con=sqlite3.connect['output.sqlite']
filter_data=pd.read_sql_query["""SELECT * FROM your_csv_file""",con]

Ở đâyfilter_data của bạn là Khung dữ liệu

Có một cách khác để xử lý các tệp sqlite bằng cách sử dụng sqliteonline. com. chúng tôi có thể tải lên các tệp sqlite của mình, chúng tôi có thể chạy các truy vấn ở đó

Khi bạn mở CSV trong python và gán nó cho một tên biến, bạn đang sử dụng bộ nhớ máy tính của mình để lưu biến đó. Truy cập dữ liệu từ cơ sở dữ liệu như SQL không chỉ hiệu quả hơn mà còn cho phép bạn tập hợp con và chỉ nhập các phần dữ liệu mà bạn cần

Trong bài học sau, chúng ta sẽ xem một số phương pháp có thể được thực hiện để làm như vậy

Mô-đun
Syntax: sqlite3.connect[‘databaseName.db’]
4

Mô-đun sqlite3 cung cấp giao diện đơn giản để tương tác với cơ sở dữ liệu SQLite. Một đối tượng kết nối được tạo bằng cách sử dụng

Syntax: sqlite3.connect[‘databaseName.db’]
5; . Trong khi kết nối đang mở, bất kỳ tương tác nào với cơ sở dữ liệu đều yêu cầu bạn tạo một đối tượng con trỏ bằng lệnh
Syntax: sqlite3.connect[‘databaseName.db’]
7. Sau đó, con trỏ đã sẵn sàng để thực hiện tất cả các loại thao tác với
Syntax: sqlite3.connect[‘databaseName.db’]
8

Syntax: sqlite3.connect[‘databaseName.db’]
0

Truy vấn

Một trong những cách phổ biến nhất để tương tác với cơ sở dữ liệu là truy vấn. truy xuất dữ liệu dựa trên một số tham số tìm kiếm. Sử dụng chuỗi câu lệnh SELECT. Truy vấn được trả về dưới dạng một bộ hoặc một bộ gồm nhiều bộ. Thêm câu lệnh WHERE để lọc kết quả của bạn dựa trên một số tham số

Syntax: sqlite3.connect[‘databaseName.db’]
1

Truy cập dữ liệu được lưu trữ trong SQLite bằng Python và Pandas

Sử dụng gấu trúc, chúng tôi có thể nhập kết quả của truy vấn SQLite vào khung dữ liệu. Lưu ý rằng bạn có thể sử dụng các lệnh/cú pháp SQL giống như chúng ta đã sử dụng trong bài học SQLite. Dưới đây là một ví dụ về việc sử dụng gấu trúc cùng với sqlite

Syntax: sqlite3.connect[‘databaseName.db’]
2

Lưu trữ dữ liệu. CSV so với SQLite

Lưu trữ dữ liệu của bạn trong cơ sở dữ liệu SQLite có thể cải thiện hiệu suất đáng kể khi đọc/ghi so với CSV. Sự khác biệt về hiệu suất trở nên đáng chú ý hơn khi kích thước của tập dữ liệu tăng lên [ví dụ: xem các điểm chuẩn này]

Thử thách - SQL

  1. Tạo một truy vấn chứa dữ liệu khảo sát được thu thập từ năm 1998 - 2001 cho các quan sát về giới tính “nam” hoặc “nữ” bao gồm chi và loài quan sát và loại địa điểm cho mẫu. Có bao nhiêu bản ghi được trả lại?

  2. Tạo một khung dữ liệu chứa tổng số quan sát [số lượng] được thực hiện trong tất cả các năm và tổng trọng số quan sát cho từng trang web, được sắp xếp theo ID trang web

Lưu trữ dữ liệu. Tạo bảng mới bằng Pandas

Chúng tôi cũng có thể sử dụng gấu trúc để tạo các bảng mới trong cơ sở dữ liệu SQLite. Ở đây, chúng tôi chạy, chúng tôi thực hiện lại một bài tập mà chúng tôi đã làm trước đây với các tệp CSV bằng cơ sở dữ liệu SQLite của chúng tôi. Trước tiên, chúng tôi đọc dữ liệu khảo sát của mình, sau đó chỉ chọn những kết quả khảo sát đó cho năm 2002, sau đó lưu dữ liệu đó vào bảng riêng để chúng tôi có thể tự làm việc với nó sau này

Syntax: sqlite3.connect[‘databaseName.db’]
3

Thách thức - Lưu công việc của bạn

  1. Đối với mỗi thử thách trong khối thử thách trước đó, hãy sửa đổi mã của bạn để lưu kết quả vào bảng của riêng chúng trong cơ sở dữ liệu cổng thông tin

  2. Một số lý do khiến bạn có thể muốn lưu lại kết quả truy vấn của mình vào cơ sở dữ liệu là gì?

    Làm cách nào để chuyển đổi tệp CSV sang cơ sở dữ liệu SQLite?

    Đầu tiên, từ menu chọn mục menu công cụ. Thứ hai, chọn cơ sở dữ liệu và bảng mà bạn muốn nhập dữ liệu rồi nhấp vào nút Tiếp theo. Thứ ba, chọn CSV làm loại nguồn dữ liệu, chọn tệp CSV trong trường Tệp đầu vào và chọn tùy chọn ,[dấu phẩy] làm Dấu tách trường như minh họa trong hình bên dưới

    Làm cách nào để tạo cơ sở dữ liệu từ tệp CSV bằng Python?

    Các bước để nhập tệp CSV vào SQL Server bằng Python .
    Bước 1. Chuẩn bị tệp CSV. .
    Bước 2. Nhập tệp CSV vào DataFrame. .
    Bước 3. Kết nối Python với máy chủ SQL. .
    Bước 4. Tạo bảng trong SQL Server bằng Python. .
    Bước 5. Chèn dữ liệu DataFrame vào bảng. .
    Bước 6. Thực hiện một bài kiểm tra

    Làm cách nào để tạo cơ sở dữ liệu SQLite bằng Python?

    Các bước tạo cơ sở dữ liệu trong Python bằng sqlite3 .
    Bước 1. Tạo cơ sở dữ liệu và bảng. Trong bước này, bạn sẽ thấy cách tạo. .
    Bước 2. Chèn giá trị vào bảng. Đối với bước này, hãy chèn dữ liệu sau vào bảng 'sản phẩm'. .
    Bước 3. Hiển thị kết quả

    Làm cách nào để nhập dữ liệu trong SQLite bằng Python?

    Python và SQL .
    nhập sqlite3 # Tạo kết nối SQL tới cơ sở dữ liệu SQLite của chúng tôi con = sqlite3. .
    nhập sqlite3 # Tạo kết nối SQL tới cơ sở dữ liệu SQLite của chúng tôi con = sqlite3. .
    nhập gấu trúc dưới dạng pd nhập sqlite3 # Đọc kết quả truy vấn sqlite vào DataFrame của gấu trúc con = sqlite3

Chủ Đề