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

Để thực hiện công việc này, trước tiên hãy mở XAAMP và khởi động MySQL. Sau đó đã đến liên kết này. https. // nhà phát triển. mysql. com/downloads/connector/python/ & tải xuống Trình kết nối MySQL/Python dựa trên hệ điều hành & phiên bản python của bạn. Bây giờ cài đặt nó. Đó là nó

Chạy thử nghiệm

trong đó. py trong tệp này, chúng tôi đang tạo kết nối với cơ sở dữ liệu MySQL, chúng tôi cũng đang tạo cơ sở dữ liệu trong tên trang này "movieRatings". Trước khi chạy trang này, hãy chắc chắn rằng bạn phải thay đổi kết nối dựa trên người dùng, mật khẩu và máy chủ MySQL của bạn

connection = mysql.connector.connect[user='root', password='', host='localhost']

Cơ sở dữ liệu sẽ được tạo trong mã dưới đây

mycursor.execute["CREATE DATABASE movieRatings  DEFAULT CHARACTER SET 'utf8'"]

table_create. py trong tệp python này, chúng tôi đang tạo bảng trên cơ sở dữ liệu. Chúng tôi đang lưu các truy vấn MySQL của mình vào một từ điển có tên "TABLES={}"

TABLES = {}
TABLES['movies'] = [
    "CREATE TABLE `movies` ["
    "  `id` int[50] NOT NULL AUTO_INCREMENT,"
    "  `title` varchar[200] NOT NULL,"
    "  `geners` varchar[200] NOT NULL,"
    "  PRIMARY KEY [`id`]"
    "] ENGINE=InnoDB"]

TABLES['links'] = [
    "CREATE TABLE `links` ["
    "  `id` int[50] NOT NULL,"
    "  `imdbid` int[50] NOT NULL,"
    "  `tmdbid` int[50] NOT NULL,"
    "  `movie_id` int[50] NOT NULL,"
    "  PRIMARY KEY [`id`]"
    "] ENGINE=InnoDB"]

TABLES['ratings'] = [
    "CREATE TABLE `ratings` ["
    "  `user_id` int[50] NOT NULL,"
    "  `movie_id` int[50] NOT NULL,"
    "  `ratings` float[50] NOT NULL,"
    "  `timestapm`  varchar[250] NOT NULL"
    "] ENGINE=InnoDB"]

TABLES['tags'] = [
    "CREATE TABLE `tags` ["
    "  `user_id` int[50] NOT NULL,"
    "  `movie_id` int[50] NOT NULL,"
    "  `tags` varchar[250] NOT NULL,"
    "  `timestapm` varchar[250] NOT NULL"
    "] ENGINE=InnoDB"]

Bằng cách sử dụng vòng lặp for, chúng tôi đang thực hiện các truy vấn vào cơ sở dữ liệu để tạo bảng

for name, ddl in TABLES.items[]:
    try:
        print["Creating table {}: ".format[name], end='']
        mycursor.execute[ddl]
    except mysql.connector.Error as err:
        if err.errno == errorcode.ER_TABLE_EXISTS_ERROR:
            print["already exists."]
        else:
            print[err.msg]
    else:
        print["OK"]

chèn_phim. py trong tệp python này, chúng tôi đang tạo 4 hàm để chèn dữ liệu trên 4 bảng khác nhau từ 4 tệp CSV khác nhau. Khi bắt đầu chức năng, chúng tôi đang mở tệp CSV

with open['./ml-latest-small/movies.csv', newline='',  encoding="utf8"] as csvfile:
        spamreader = csv.reader[csvfile]

Sau đó, sử dụng forloop, chúng tôi đọc dữ liệu từ tệp csv và sau đó chèn dữ liệu bằng truy vấn vào cơ sở dữ liệu

Trong bài viết này, chúng ta sẽ thảo luận về cách nhập nội dung tệp CSV vào bảng cơ sở dữ liệu SQLite bằng Python

Tiếp cận

  • Lúc đầu, chúng tôi nhập mô-đun csv [để làm việc với tệp csv] và mô-đun sqlite3 [để điền vào bảng cơ sở dữ liệu]
  • Sau đó, chúng tôi kết nối với cơ sở dữ liệu chuyên viên máy tính của mình bằng cách sử dụng sqlite3. phương thức kết nối[]
  • Lúc này chúng ta tạo đối tượng con trỏ để xử lý các truy vấn trên bảng cơ sở dữ liệu
  • Trước tiên, chúng tôi tạo bảng người của mình và tạo tệp csv có nội dung bên trong mà chúng tôi sẽ chèn vào bảng của mình
  • Chúng ta mở file csv đã tạo ở trên bằng hàm open[]
  • Chúng tôi trích xuất tất cả nội dung của tệp csv vào biến nội dung của mình thông qua csv. phương thức đọc []
  • Sau đó, chúng tôi chèn nội dung theo hàng của tệp csv vào cơ sở dữ liệu của mình thông qua phương thức execmany[] sẽ thay thế [?,?] bằng hai dữ liệu được phân tách bằng dấu phẩy tiếp theo của tệp csv và chèn nó làm bản ghi vào bảng người
  • Cuối cùng, chúng tôi xác minh rằng dữ liệu của tệp csv đã được chèn thành công vào bảng của chúng tôi bằng câu lệnh CHỌN và thực hiện các thay đổi và đóng kết nối cơ sở dữ liệu

Dưới đây là việc thực hiện

Với mục đích thực hiện, chúng tôi sẽ tạo một bảng người trong chuyên viên máy tính của chúng tôi. cơ sở dữ liệu db. Chúng tôi sẽ chèn nội dung của person_records. csv trong bảng người của chúng tôi. Dưới đây là tệp CSV chúng tôi sẽ sử dụng

Làm thế nào bạn có thể đọc và ghi dữ liệu từ. Tệp CSV bằng Python?

Các bước để đọc tệp CSV. .
Nhập thư viện csv. nhập csv
Mở tệp CSV. Các. .
Sử dụng tệp csv. đối tượng reader để đọc tệp CSV. csvreader = csv. người đọc [tập tin]
Trích xuất tên trường. Tạo một danh sách trống gọi là tiêu đề. .
Trích xuất các hàng/bản ghi. .
Đóng tệp

Làm cách nào để chèn nội dung của tệp CSV vào cơ sở dữ liệu sqlite3 bằng Python?

Pandas giúp dễ dàng tải dữ liệu CSV này vào bảng sqlite. .
nhập gấu trúc dưới dạng pd
# tải dữ liệu vào Pandas DataFrame
người dùng = pd. read_csv['người dùng. csv']
# ghi dữ liệu vào bảng sqlite
người dùng. to_sql['users', conn, if_exists='append', index = False]

Chủ Đề