Hướng dẫn csv to sql python - csv sang sql python
Ở bài viết trước mình đã giới thiệu sơ lược về thư viện Pandas và cấu trúc dữ liệu cơ bản của nó, các bạn có thể tham khảo tại đây. Trong bài viết này mình sẽ giới thiệu sơ lược về các đọc dữ liệu từ CSV, JSON và SQL database. Show
Đọc dữ liệu từ CSVVới các tệp CSV, bạn đọc dữ liệu một cách rất đơn giản bằng cách sử dụng hàm 9 và được trả về 1 dataframe. Bắt đầu với một bộ dữ liệu demo đơn giản, được gọi là purchases, và mình sẽ tạo ra một file là purchases.csv và dưới đây là dữ liệu thô của nó
Output:
CSV không có index giống như DataFrames, vì vậy tất cả những gì chúng ta cần làm chỉ là chỉ định index_col khi đọc:
Output:
Ở đây chúng ta đặt index là cột không. Hàm 9 có một vài tham số như:
Bạn có thể tham khảo đầy đủ các tham số tại đây Đọc dữ liệu từ JSONNếu bạn có một tệp JSON - về cơ bản là một 1 Python được lưu trữ -oandas có thể đọc nó dễ dàng như sau:
Output:
Lưu ý lần này index đi kèm với chúng ta một cách chính xác vì sử dụng các index cho phép JSON hoạt động thông qua nesting. Pandas sẽ cố gắng tìm ra cách tạo DataFrame bằng cách phân tích cấu trúc JSON của bạn và đôi khi điều đó không đúng. Thông thường, bạn sẽ cần đặt đối số 2 tùy thuộc vào cấu trúc, vậy nên hãy tham khảo đầy đủ các tham số của 3 tại đâyĐọc dữ liệu từ SQL databaseNếu bạn làm việc với dữ liệu từ cơ sở dữ liệu SQL, trước tiên bạn cần thiết lập kết nối bằng thư viện Python thích hợp, sau đó chuyển truy vấn đến pandas. Ở đây chúng tôi sẽ sử dụng SQLite để chứng minh. Đầu tiên, chúng ta cần cài đặt pysqlite3, chạy 4nếu sử dụng tool pip 5 được sử dụng để tạo kết nối tới cơ sở dữ liệu mà sau đó chúng ta có thể sử dụng để tạo DataFrame thông qua truy vấn 6.Vì vậy, trước tiên chúng ta sẽ tạo kết nối đến tệp cơ sở dữ liệu SQLite:
Lưu ý: Nếu bạn có dữ liệu trong PostgreSQL, MySQL hoặc một SQL server khác, bạn sẽ cần lấy đúng thư viện Python để tạo kết nối. Ví dụ 7 là một thư viện thường được sử dụng để tạo kết nối tới PostgreSQL bạn có thể tham khảo tại đây. Hơn nữa, bạn sẽ tạo kết nối đến URI cơ sở dữ liệu thay vì tệp như chúng tôi đã làm ở đây với SQLite.Trong cơ sở dữ liệu SQLite này, chúng tôi có một bảng gọi là purchases và chỉ mục của chúng tôi nằm trong một cột có tên là "name" Bằng cách truyền truy vấn 6 và connect 9, chúng ta có thể đọc từ bảng purchases
Output:
Giống như với CSV, chúng ta có thể pass 0, nhưng chúng ta cũng có thể thiết lập một index sau 0Output: 1Thực tế, chúng ta có thể sử dụng 1 trên bất kỳ DataFrame nào bằng bất kỳ cột nào vào bất kỳ lúc nào. Indexing Series và DataFrames là một nhiệm vụ rất phổ biến, và những cách khác nhau để làm điều đó là đáng nhớ.Tài liệu tham khảoPython Pandas Tutorial: A Complete Introduction for Beginners Bước 2: Nhập tệp CSV vào DataFrame
Đây là cách mà DataFrame sẽ trông như thế nào trong Python:Để bắt đầu, hãy chuẩn bị tệp CSV mà bạn muốn nhập vào SQL Server. Ví dụ, hãy để giả sử rằng một tệp CSV đã được chuẩn bị, trong đó:
Ngoài ra, tệp CSV chứa các dữ liệu sau:
Bước 2: Nhập tệp CSV vào DataFrameBạn có thể sử dụng thư viện Pandas để nhập tệp CSV vào DataFrame. Dưới đây là mã để nhập tệp CSV cho ví dụ của chúng tôi (lưu ý rằng bạn sẽ cần thay đổi đường dẫn để phản ánh vị trí nơi tệp CSV được lưu trên máy tính của bạn): 2Đây là cách mà DataFrame sẽ trông như thế nào trong Python: 3Bước 3: Kết nối Python với SQL ServerĐể kết nối Python với SQL Server, bạn sẽ cần:
Dưới đây là mã để kết nối Python với SQL cho ví dụ của chúng tôi: 4Bạn có thể muốn kiểm tra hướng dẫn sau đây giải thích các bước đầy đủ để kết nối Python với SQL Server bằng PYODBC. Bước 4: Tạo bảng trong SQL Server bằng PythonTiếp theo, thêm cú pháp để tạo bảng trong SQL Server. Bảng này sẽ được sử dụng để lưu trữ dữ liệu đã nhập từ tệp CSV. Ví dụ của chúng tôi, bạn có thể thêm cú pháp sau để tạo ‘Sản phẩm‘ Bảng:products‘ table: 5Lưu ý rằng bất cứ khi nào bạn chạy mã để tạo bảng. Bạn chỉ nên sử dụng đoạn mã đó một lần. Nếu không, bạn sẽ gặp lỗi bên dưới: that whenever you run the code to create a table. You should only use that piece of the code once. Otherwise, you’ll get the error below: Lập trình HERROR: (xông 42S01, [[42S01] [Microsoft] [Trình điều khiển máy chủ ODBC SQL] [SQL Server] đã có một đối tượng có tên ‘Sản phẩm trong cơ sở dữ liệu. (2714) (sqlexecdirectw) Bước 5: Chèn dữ liệu DataFrame vào bảngDưới đây là cú pháp để chèn dữ liệu DataFrame (từ bước 2) vào bảng sản phẩm:products table: 6Và đây là toàn bộ mã để nhập tệp CSV vào SQL Server bằng Python: 7Chạy mã trong Python (sau khi thực hiện điều chỉnh đường dẫn nơi lưu trữ tệp CSV của bạn, cũng như thực hiện thay đổi thông tin kết nối cơ sở dữ liệu của bạn). Bước 6: Thực hiện bài kiểm traHãy để chạy một truy vấn đơn giản để kiểm tra xem các giá trị từ tệp CSV đã được nhập vào SQL Server: 8Đây là kết quả:
|