Hướng dẫn excel to sqlite pandas - vượt trội so với gấu trúc sqlite

Hướng dẫn excel to sqlite pandas - vượt trội so với gấu trúc sqlite

Chúng tôi có thể chuyển dữ liệu từ bảng dữ liệu Excel sang SQLite và từ SQLite sang Excel bằng cách sử dụng gấu trúc DataFrame.

Truyền dữ liệu giữa trang SQLite và Excel bằng cách sử dụng kết nối Pandas DataFrame và SQLalchemy



Gấu trúc sqlite từ sqlite đến excel

From SQLite to Excel

Chúng tôi sẽ tạo một khung dữ liệu gấu trúc bằng cách sử dụng dữ liệu từ bảng sinh viên SQLite. . Chúng tôi đang sử dụng thử ngoại trừ khối mã để xử lý các lỗi nếu có. Sử dụng Pandas DataFrame DF, chúng tôi sẽ sử dụng to_sql () để thêm dataFrame vào trang tính Excel.
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db'
my_conn = create_engine("sqlite:///"+ my_path)

import pandas as pd 
try:
  query="SELECT * FROM student" # query to collect record 
  df = pd.read_sql(query,my_conn,index_col='id') # create DataFrame
  print(df.head()) # Print top 5 rows as sample
  df.to_excel('D:\student.xlsx')  # create the excel file 
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else:
  print("DataFrame created successfully..")
Từ excel đến bảng SQLite

More on Connection to SQLite database
import sqlite3
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = sqlite3.connect(my_path)
print("Connected to database successfully")
Using SQLAlchemy ( use any one type connection)
from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
We will use read_sql() to create the DataFrame by using the query.
We are using try except code block to handle errors if any.
Using the Pandas DataFrame df, we will use to_sql() to add the dataframe to Excel sheet.
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db'
my_conn = create_engine("sqlite:///"+ my_path)

import pandas as pd 
try:
  query="SELECT * FROM student" # query to collect record 
  df = pd.read_sql(query,my_conn,index_col='id') # create DataFrame
  print(df.head()) # Print top 5 rows as sample
  df.to_excel('D:\student.xlsx')  # create the excel file 
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else:
  print("DataFrame created successfully..")

Hướng dẫn excel to sqlite pandas - vượt trội so với gấu trúc sqlite

From Excel to SQLite table

Trong phần đầu tiên bằng cách sử dụng read_excel (), chúng tôi sẽ thu thập dữ liệu từ trang Excel và tạo DataFrame. Trong phần thứ hai, chúng tôi sẽ sử dụng to_sql () để tạo và lưu trữ dữ liệu từ bảng dữ liệu đến bảng SQLite (Bảng Student3).
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
Từ Google Sheet đến SQLite bằng cách sử dụng PygSetets và Google API ủy quyền từ Google Sheet đến bảng cơ sở dữ liệu của MySQL và Versa để sử dụng tệp XLSXWriter

In second part we will use to_sql() to create and store data from the Dataframe to SQLite table ( student3 table ) .
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
From Google sheet to SQLite using Pygsheets and google API authorization From Google sheet to MySQL and vice versa
Database table to Excel file using xlsxwriter


Hướng dẫn excel to sqlite pandas - vượt trội so với gấu trúc sqlite

plus2net.com


Nếu bạn đang muốn tìm hiểu thêm về Pandas và Data Analysis thì hãy tới ngay Nordic Coder– Trung tâm đào tạo lập trình hàng đầu với khoá học Data Analysis với Python.

Tại sao nên học cách làm việc với Python Pandas Excel? Excel là một trong những công cụ dữ liệu phổ biến và được sử dụng rộng rãi nhất; khó mà tìm được một tổ chức mà không sử dụng Excel. Từ các nhà phân tích, đến các VP bán hàng, cho đến các CEO, các chuyên gia khác nhau đều sử dụng Excel cho cả số liệu thống kê nhanh và xử lý dữ liệu nghiêm trọng.Show

  • Nội dung chính Show
  • Điều kiện tiên quyết của hệ thống
  • Tập dữ liệu – Python Pandas Excel
  • Đọc dữ liệu từ tệp Excel – Python Pandas Excel
  • Sử dụng lớp ExcelFile để đọc nhiều sheets – Python Pandas Excel
  • Lấy thông tin thống kê về dữ liệu
  • Đọc tệp không có tiêu đề và bỏ qua hồ sơ
  • Đọc một tập hợp con của các cột
  • Áp dụng các công thức trên các cột
  • Pivot Table in pandas – Python Pandas Excel
  • Giống như thế này, người ta có thể sử dụng XlsxWriter để áp dụng các định dạng khác nhau cho tệp Excel đầu ra.

Phần kết luận

Pandas không phải là một thay thế cho Excel. Cả hai công cụ đều có vị trí trong quy trình phân tích dữ liệu và có thể là công cụ đồng hành rất tuyệt vời. Như chúng tôi đã chứng minh, Pandas có thể thực hiện nhiều thao tác và phân tích dữ liệu phức tạp, tùy thuộc vào nhu cầu và chuyên môn của bạn, có thể vượt xa những gì bạn có thể đạt được nếu bạn chỉ sử dụng Excel. Một trong những lợi ích chính của việc sử dụng Python và Pandas trên Excel là nó giúp bạn tự động hóa việc xử lý tệp Excel bằng cách viết các tập lệnh và tích hợp với quy trình làm việc dữ liệu tự động của bạn. Pandas cũng có các phương pháp tuyệt vời để đọc tất cả các loại dữ liệu từ các tệp Excel. Bạn cũng có thể xuất kết quả của mình từ Pandas trở lại Excel nếu đối tượng đó ưa thích bởi đối tượng dự định của bạn. Mặt khác, Excel là một công cụ dữ liệu được sử dụng rộng rãi như vậy, nó không phải là một cách khôn ngoan để bỏ qua nó. Có được kiến thức chuyên môn trong cả Pandas và Excel và khiến chúng hoạt động cùng nhau mang lại cho bạn những kỹ năng có thể giúp bạn nổi bật trong tổ chức của mình.

  • Nếu bạn đang muốn tìm hiểu thêm về Pandas và Data Analysis thì hãy tới ngay Nordic Coder– Trung tâm đào tạo lập trình hàng đầu với khoá học Data Analysis với Python.
  • Tại sao nên học cách làm việc với Python Pandas Excel? Excel là một trong những công cụ dữ liệu phổ biến và được sử dụng rộng rãi nhất; khó mà tìm được một tổ chức mà không sử dụng Excel. Từ các nhà phân tích, đến các VP bán hàng, cho đến các CEO, các chuyên gia khác nhau đều sử dụng Excel cho cả số liệu thống kê nhanh và xử lý dữ liệu nghiêm trọng.
  • Nội dung chính Show
  • Điều kiện tiên quyết của hệ thống
  • Tập dữ liệu – Python Pandas Excel

Đọc dữ liệu từ tệp Excel – Python Pandas Excel

Sử dụng lớp ExcelFile để đọc nhiều sheets – Python Pandas Excel

  • Lấy thông tin thống kê về dữ liệu
  • Đọc tệp không có tiêu đề và bỏ qua hồ sơ
  • Đọc một tập hợp con của các cột
  • Áp dụng các công thức trên các cột
  • Pivot Table in pandas – Python Pandas Excel
  • chuyển dữ liệu từ Pandas vào Excel

Lưu ý rằng hướng dẫn này không cung cấp một lặn sâu vào Pandas. Để khám pháPandas nhiều hơn, hãy xem khóa học của chúng tôi.

Điều kiện tiên quyết của hệ thống

Chúng tôi sẽ sử dụng Python 3 và Jupyter Notebook để trình bày mã trong hướng dẫn này. Ngoài Python và Jupyter Notebook, bạn sẽ cần các mô-đun Python sau:
Ngoài Python và Jupyter Notebook, bạn sẽ cần các mô-đun Python sau:

matplotlib – trực quan hóa dữ liệu NumPy – chức năng dữ liệu số OpenPyXL – đọc / ghi tệp Excel 2010 xlsx / xlsm Pandas – nhập dữ liệu, dọn dẹp, thăm dò và phân tích xlrd – đọc dữ liệu Excel xlwt – ghi vào Excel XlsxWriter – ghi vào tệp Excel (xlsx)
NumPy – chức năng dữ liệu số
OpenPyXL – đọc / ghi tệp Excel 2010 xlsx / xlsm
Pandas – nhập dữ liệu, dọn dẹp, thăm dò và phân tích
xlrd – đọc dữ liệu Excel
xlwt – ghi vào Excel
XlsxWriter – ghi vào tệp Excel (xlsx)

Có nhiều cách để thiết lập với tất cả các mô-đun. Chúng tôi bao gồm ba trong số các kịch bản phổ biến nhất dưới đây.

  • Nếu bạn đã cài đặt Python thông qua trình quản lý gói Anaconda, bạn có thể cài đặt các mô-đun cần thiết bằng lệnh conda install. Ví dụ, để cài đặt Pandas, bạn sẽ thực thi lệnh – conda install pandas.conda install. Ví dụ, để cài đặt Pandas, bạn sẽ thực thi lệnh – conda install pandas.
  • Nếu bạn đã cài đặt Python thông thường, không phải Anaconda trên máy tính, bạn có thể cài đặt các mô-đun cần thiết bằng pip. Mở chương trình dòng lệnh của bạn và thực hiện lệnh pip install để cài đặt một mô-đun. Bạn nên thay thế bằng tên thực của mô-đun bạn đang cố gắng cài đặt. Ví dụ, để cài đặt Pandas, bạn sẽ thực thi lệnh – pip install pandas.module name> để cài đặt một mô-đun. Bạn nên thay thế bằng tên thực của mô-đun bạn đang cố gắng cài đặt. Ví dụ, để cài đặt Pandas, bạn sẽ thực thi lệnh – pip install pandas.
  • Nếu bạn không cài đặt Python, bạn nên tải nó thông qua trình quản lý gói Anaconda. Anaconda cung cấp trình cài đặt cho Máy tính Windows, Mac và Linux. Nếu bạn chọn trình cài đặt đầy đủ, bạn sẽ nhận được tất cả các mô-đun bạn cần, cùng với Python và Pandas trong một gói duy nhất. Đây là cách dễ nhất và nhanh nhất để bắt đầu.

Tập dữ liệu – Python Pandas Excel

Trong hướng dẫn này, chúng tôi sẽ sử dụng tệp Excel nhiều trang mà chúng tôi đã tạo từ dữ liệu Điểm IMDB của Kaggle. Bạn có thể tải tập tin tại đây.

Tệp Excel của chúng tôi có ba sheets: ‘1900s’, ’2000s’, ‘2010s’. Mỗi sheet có dữ liệu cho các bộ phim từ những năm đó.

Chúng tôi sẽ sử dụng bộ dữ liệu này để tìm phân phối xếp hạng cho phim, trực quan hóa phim có xếp hạng cao nhất và thu nhập ròng và tính toán thông tin thống kê về phim. Chúng tôi sẽ phân tích và khám phá dữ liệu này bằng Python vàPandas, do đó chứng minh khả năng của Pandas để làm việc với dữ liệu Excel trong Python.

Đọc dữ liệu từ tệp Excel – Python Pandas Excel

Trước tiên chúng ta cần nhập dữ liệu từ tệp Excel vào Pandas. Để làm điều đó, chúng tôi bắt đầu bằng cách nhập mô-đun Pandas.

import pandas as pd

Sau đó, chúng tôi sử dụng phương thức pandasTHER read_excel để đọc dữ liệu từ tệp Excel. Cách dễ nhất để gọi phương thức này là truyền tên tệp. Nếu không có tên trang tính được chỉ định thì nó sẽ đọc trang tính đầu tiên trong chỉ mục (như hiển thị bên dưới).

excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)

Ở đây, phương thức read_excel đọc dữ liệu từ tệp Excel vào một đối tượng DataFrame của Pandas. Pandas mặc định lưu trữ dữ liệu trong DataFrames. Sau đó chúng tôi đã lưu trữ DataFrame này vào một biến gọi là movies.

Pandas có một phương thức DataFrame.head () tích hợp mà chúng ta có thể sử dụng để dễ dàng hiển thị một vài hàng đầu tiên của DataFrame. Nếu không có đối số nào được thông qua, nó sẽ hiển thị năm hàng đầu tiên. Nếu một số được thông qua, nó sẽ hiển thị số lượng hàng bằng nhau từ đầu.

movie.head ()

TitleYearGenresLanguageCountryContent RatingDurationAspect RatioBudgetGross EarningsFacebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB Score
0Intolerance: Love’s Struggle Throughout the Ages 1916 Drama|History|War NaN USA Not Rated 123 1.33 385907.0 NaN USA 436 22 9.0 481 691 1 10718 88 69.0 8.0
1Not Rated 1920 NaN USA NaN 110 1.33 100000.0 3000000.0 USA 2 2 0.0 4 0 1 5 1 1.0 4.8
2Not Rated 1925 NaN USA Not Rated 151 1.33 245000.0 NaN USA 81 12 6.0 108 226 0 4849 45 48.0 8.3
3Not Rated 1927 Over the Hill to the Poorhouse Crime|Drama Not Rated 145 1.33 6000000.0 26435.0 USA 136 23 18.0 203 12000 1 111841 413 260.0 8.3
4Not Rated 1929 Over the Hill to the Poorhouse Crime|Drama Not Rated 110 1.33 NaN 9950.0 USA 426 20 3.0 455 926 1 7431 84 71.0 8.0

Not Rated

Theo mặc định, Pandas sẽ tự động gán chỉ mục số hoặc nhãn hàng bắt đầu bằng 0. Bạn có thể muốn để lại chỉ mục mặc định như vậy nếu dữ liệu của bạn không có cột có các giá trị duy nhất có thể phục vụ như một chỉ mục tốt hơn. Trong trường hợp có một cột mà bạn cảm thấy sẽ đóng vai trò là một chỉ mục tốt hơn, bạn có thể ghi đè hành vi mặc định bằng cách đặt thuộc tính index_col thành một cột. Nó nhận một giá trị số để đặt một cột làm chỉ mục hoặc danh sách các giá trị số để tạo đa chỉ mục.

Trong đoạn mã dưới đây, chúng tôi đang chọn cột đầu tiên, Title Tiêu đề, làm chỉ mục (index = 0) bằng cách chuyển số 0 cho đối số index_col.

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
YearGenresLanguageCountryContent RatingDurationAspect RatioBudgetGross EarningsDirectorFacebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB Score
Title
Intolerance: Love’s Struggle Throughout the Ages1916 Drama|History|War NaN USA Not Rated 123 1.33 385907.0 NaN USA Not Rated 436 22 9.0 481 691 1 10718 88 69.0 8.0
D.W. Griffith 1920 NaN USA NaN 110 1.33 100000.0 3000000.0 USA Not Rated 2 2 0.0 4 0 1 5 1 1.0 4.8
D.W. Griffith 1925 NaN USA Not Rated 151 1.33 245000.0 NaN USA Not Rated 81 12 6.0 108 226 0 4849 45 48.0 8.3
D.W. Griffith 1927 Over the Hill to the PoorhouseCrime|Drama Not Rated 145 1.33 6000000.0 26435.0 D.W. Griffith Not Rated 136 23 18.0 203 12000 1 111841 413 260.0 8.3
D.W. Griffith 1929 Over the Hill to the PoorhouseCrime|Drama Not Rated 110 1.33 NaN 9950.0 USA Not Rated 426 20 3.0 455 926 1 7431 84 71.0 8.0

D.W. Griffith

YearGenresLanguageCountryContent RatingDurationAspect RatioBudgetGross EarningsDirectorFacebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB Score
Title
Intolerance: Love’s Struggle Throughout the Ages2000 Drama|History|War NaN USA Not Rated 100.0 1.85 85000000.0 66941559.0 D.W. Griffith Not Rated 2000.0 795.0 439.0 4182 372 1 26413 77.0 84.0 4.8
D.W. Griffith 2000 NaN USA Not Rated 103.0 1.37 43000000.0 37035515.0 D.W. Griffith Not Rated 12000.0 10000.0 664.0 23864 0 1 34597 194.0 116.0 6.0
D.W. Griffith 2000 NaN USA Not Rated 82.0 1.85 6000000.0 9821335.0 D.W. Griffith Not Rated 939.0 706.0 585.0 3354 118 1 1415 10.0 22.0 4.0
D.W. Griffith 2000 NaN USA NaN 106.0 1.85 6500000.0 64148.0 USA Not Rated 844.0 2.0 0.0 846 260 0 2601 35.0 28.0 7.3
D.W. Griffith 2000 NaN USA Not Rated 220.0 2.35 57000000.0 15527125.0 D.W. Griffith Not Rated 13000.0 861.0 820.0 15006 652 2 11388 183.0 85.0 5.8
D.W. Griffith
YearGenresLanguageCountryContent RatingDurationAspect RatioBudgetGross EarningsDirectorFacebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB Score
Title
Intolerance: Love’s Struggle Throughout the Ages2010.0 Drama|History|War NaN USA Not Rated 94.0 1.85 18000000.0 18329466.0 D.W. Griffith Not Rated 11000.0 642.0 223.0 11984 63000 0.0 279179 440.0 450.0 7.6
D.W. Griffith 2010.0 NaN USA Not Rated 88.0 NaN 300000.0 NaN USA Not Rated 795.0 659.0 301.0 1884 92 0.0 554 23.0 20.0 5.2
32010.0 D.W. Griffith Over the Hill to the PoorhouseCrime|Drama Harry F. Millarde 119.0 2.35 NaN 59774.0 USA Not Rated 24.0 20.0 9.0 69 2000 0.0 4212 18.0 76.0 6.8
D.W. Griffith 2010.0 NaN USA Not Rated 80.0 1.78 2500000.0 99851.0 D.W. Griffith Not Rated 191.0 12.0 5.0 210 0 0.0 1138 30.0 28.0 7.1
D.W. Griffith 2010.0 NaN USA Not Rated 88.0 2.35 NaN NaN USA Not Rated 783.0 749.0 602.0 3874 0 2.0 5385 22.0 56.0 6.1

D.W. Griffith

movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])

from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
0
from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
1

Sử dụng lớp ExcelFile để đọc nhiều sheets – Python Pandas Excel

Chúng ta đồng thời có thể sử dụng lớp ExcelFile để làm việc với nhiều trang từ cùng một Excel fileWe can also use the ExcelFile class to work with multiple sheets from the same Excel file. Trước tiên chúng tôi bọc tệp Excel bằng cách sử dụng

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
9 và chuyển nó tới phương thức
import pandas as pd
0 .
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
9 và chuyển nó tới phương thức
import pandas as pd
0 .

from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
2

Nếu bạn đang đọc tệp Excel có nhiều trang tính và đang tạo nhiều DataFrames, ExcelFile sẽ thuận tiện và hiệu quả hơn so với read_excel. Với ExcelFile, bạn chỉ cần truyền tệp Excel một lần và sau đó bạn có thể sử dụng tệp đó để lấy DataFrames. Khi sử dụng read_excel, bạn chuyển tệp Excel mỗi lần và do đó tệp được tải lại cho mỗi trang tính. Đây có thể là một lực kéo hiệu suất rất lớn nếu tệp Excel có nhiều trang tính với số lượng hàng lớn. Khám phá dữ liệu Bây giờ chúng ta đã đọc trong tập dữ liệu phim từ tệp Excel của mình, chúng ta có thể bắt đầu khám phá nó bằng Pandas. Một DataFrame của Pandas lưu trữ dữ liệu theo định dạng bảng, giống như cách Excel hiển thị dữ liệu trong một trang tính. Pandas có rất nhiều phương thức tích hợp để khám phá DataFrame mà chúng ta đã tạo từ tệp Excel mà chúng ta vừa đọc. Chúng tôi đã giới thiệu đầu phương thức trong phần trước hiển thị một vài hàng từ đầu từ DataFrame. Hãy cùng xem xét một vài phương pháp hữu ích trong khi khám phá tập dữ liệu. Chúng ta có thể sử dụng phương thức hình dạng để tìm ra số lượng hàng và cột cho DataFrame.
Khám phá dữ liệu
Bây giờ chúng ta đã đọc trong tập dữ liệu phim từ tệp Excel của mình, chúng ta có thể bắt đầu khám phá nó bằng Pandas. Một DataFrame của Pandas lưu trữ dữ liệu theo định dạng bảng, giống như cách Excel hiển thị dữ liệu trong một trang tính. Pandas có rất nhiều phương thức tích hợp để khám phá DataFrame mà chúng ta đã tạo từ tệp Excel mà chúng ta vừa đọc.
Chúng tôi đã giới thiệu đầu phương thức trong phần trước hiển thị một vài hàng từ đầu từ DataFrame. Hãy cùng xem xét một vài phương pháp hữu ích trong khi khám phá tập dữ liệu.
Chúng ta có thể sử dụng phương thức hình dạng để tìm ra số lượng hàng và cột cho DataFrame.

from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
0
from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
4

Điều này cho chúng tôi biết tệp Excel của chúng tôi có 5042 hồ sơ và 25 cột hoặc quan sát. Điều này có thể hữu ích trong việc báo cáo số lượng bản ghi và cột và so sánh với số liệu được thiết lập. Chúng ta có thể sử dụng phương thức đuôi để xem các hàng dưới cùng. Nếu không có tham số nào được thông qua, chỉ có năm hàng dưới cùng được trả về.
Chúng ta có thể sử dụng phương thức đuôi để xem các hàng dưới cùng. Nếu không có tham số nào được thông qua, chỉ có năm hàng dưới cùng được trả về.

from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
5
TitleYearGenresLanguageCountryContent RatingDurationAspect RatioBudgetGross EarningsFacebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB Score
1599War & Peace NaN Drama|History|Romance|War English UK TV-14 NaN 16.00 NaN NaN Drama|History|Romance|War 1000.0 888.0 502.0 4528 11000 1.0 9277 44.0 10.0 8.2
1600English NaN Drama|History|Romance|War English UK NaN 30.0 1.33 NaN NaN Drama|History|Romance|War 685.0 511.0 424.0 1884 1000 5.0 7646 56.0 19.0 7.3
1601English NaN Drama|History|Romance|War English UK NaN NaN 2.00 NaN NaN Drama|History|Romance|War 511.0 457.0 206.0 1617 954 0.0 726 6.0 2.0 7.1
1602English NaN Drama|History|Romance|War English UK NaN 142.0 NaN NaN NaN Drama|History|Romance|War 27000.0 698.0 427.0 29196 0 2.0 6053 33.0 9.0 7.7
1603English NaN Drama|History|Romance|War English UK NaN 24.0 NaN NaN NaN Drama|History|Romance|War 0.0 NaN NaN 0 124 0.0 12417 51.0 6.0 7.0

Drama|History|Romance|War

English
Vì chúng tôi có dữ liệu được sắp xếp theo các giá trị trong một cột, chúng tôi có thể thực hiện một vài điều thú vị với nó. Ví dụ: chúng tôi có thể hiển thị 10 phim hàng đầu theo Tổng thu nhập.

from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
6
from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
7

UK
Đầu tiên, chúng tôi nhập mô-đun matplotlib và đặt matplotlib để hiển thị các ô ngay trong Notebook Jupyter.

from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
8

TV-14

from sqlalchemy import create_engine 
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path 
my_conn = create_engine("sqlite:///"+ my_path)
9


Wings

Comedy|Drama

Pandas có một số phương pháp rất tiện dụng để xem xét dữ liệu thống kê về tập dữ liệu của chúng tôi. Ví dụ: chúng ta có thể sử dụng phương pháp mô tả để có được một bản tóm tắt thống kê của tập dữ liệu.

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db'
my_conn = create_engine("sqlite:///"+ my_path)

import pandas as pd 
try:
  query="SELECT * FROM student" # query to collect record 
  df = pd.read_sql(query,my_conn,index_col='id') # create DataFrame
  print(df.head()) # Print top 5 rows as sample
  df.to_excel('D:\student.xlsx')  # create the excel file 
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else:
  print("DataFrame created successfully..")
1
YearDurationAspect RatioBudgetGross EarningsFacebook Likes – DirectorFacebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB Score
count4935.000000 5028.000000 4714.000000 4.551000e+03 4.159000e+03 4938.000000 5035.000000 5029.000000 5020.000000 5042.000000 5042.000000 5029.000000 5.042000e+03 5022.000000 4993.000000 5042.000000
mean2002.470517 107.201074 2.220403 3.975262e+07 4.846841e+07 686.621709 6561.323932 1652.080533 645.009761 9700.959143 7527.457160 1.371446 8.368475e+04 272.770808 140.194272 6.442007
std12.474599 25.197441 1.385113 2.061149e+08 6.845299e+07 2813.602405 15021.977635 4042.774685 1665.041728 18165.101925 19322.070537 2.013683 1.384940e+05 377.982886 121.601675 1.125189
min1916.000000 7.000000 1.180000 2.180000e+02 1.620000e+02 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 5.000000e+00 1.000000 1.000000 1.600000
25%1999.000000 93.000000 1.850000 6.000000e+06 5.340988e+06 7.000000 614.500000 281.000000 133.000000 1411.250000 0.000000 0.000000 8.599250e+03 65.000000 50.000000 5.800000
50%2005.000000 103.000000 2.350000 2.000000e+07 2.551750e+07 49.000000 988.000000 595.000000 371.500000 3091.000000 166.000000 1.000000 3.437100e+04 156.000000 110.000000 6.600000
75%2011.000000 118.000000 2.350000 4.500000e+07 6.230944e+07 194.750000 11000.000000 918.000000 636.000000 13758.750000 3000.000000 2.000000 9.634700e+04 326.000000 195.000000 7.200000
max2016.000000 511.000000 16.000000 1.221550e+10 7.605058e+08 23000.000000 640000.000000 137000.000000 23000.000000 656730.000000 349000.000000 43.000000 1.689764e+06 5060.000000 813.000000 9.500000

Phương pháp mô tả hiển thị thông tin bên dưới cho mỗi cột.

số lượng hoặc số lượng giá trị nghĩa là độ lệch chuẩn tối thiểu, tối đa 25%, 50% và 75% lượng tử Xin lưu ý rằng thông tin này sẽ chỉ được tính cho các giá trị số.Chúng ta cũng có thể sử dụng phương thức tương ứng để truy cập thông tin này cùng một lúc. Ví dụ: để lấy giá trị trung bình của một cột cụ thể, bạn có thể sử dụng phương thức trung bình trên cột đó.
nghĩa là
độ lệch chuẩn
tối thiểu, tối đa
25%, 50% và 75% lượng tử
Xin lưu ý rằng thông tin này sẽ chỉ được tính cho các giá trị số.Chúng ta cũng có thể sử dụng phương thức tương ứng để truy cập thông tin này cùng một lúc. Ví dụ: để lấy giá trị trung bình của một cột cụ thể, bạn có thể sử dụng phương thức trung bình trên cột đó.

import pandas as pd
1

import pandas as pd
2
import pandas as pd
3

Cũng giống như trung bình, có các phương thức có sẵn cho mỗi thông tin thống kê mà chúng tôi muốn truy cập. Bạn có thể đọc về các phương pháp này trong bảng cheat Pandas miễn phí của chúng tôi.

Đọc tệp không có tiêu đề và bỏ qua hồ sơ

Trước đó trong hướng dẫn này, chúng tôi đã thấy một số cách để đọc một loại tệp Excel cụ thể có tiêu đề và không có hàng nào cần bỏ qua. Đôi khi, bảng tính Excel không có bất kỳ hàng tiêu đề nào. Đối với những trường hợp như vậy, bạn có thể yêu cầu Pandas không coi hàng đầu tiên là tên tiêu đề hoặc cột. Và nếu một vài hàng đầu tiên trong bảng tính Excel có chứa dữ liệu không nên đọc, bạn có thể yêu cầu phương thức read_excel bỏ qua một số hàng nhất định, bắt đầu từ đầu. Ví dụ: nhìn vào một vài hàng trên cùng của tệp Excel này.
Ví dụ: nhìn vào một vài hàng trên cùng của tệp Excel này.


Tệp này rõ ràng không có tiêu đề và bốn hàng đầu tiên không phải là bản ghi thực và do đó không nên đọc. Chúng ta có thể nói với read_excel không có tiêu đề bằng cách đặt tiêu đề đối số thành Không có và chúng ta có thể bỏ qua bốn hàng đầu tiên bằng cách đặt bỏ qua đối số thành bốn.
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db'
my_conn = create_engine("sqlite:///"+ my_path)

import pandas as pd 
try:
  query="SELECT * FROM student" # query to collect record 
  df = pd.read_sql(query,my_conn,index_col='id') # create DataFrame
  print(df.head()) # Print top 5 rows as sample
  df.to_excel('D:\student.xlsx')  # create the excel file 
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else:
  print("DataFrame created successfully..")
2
012345678915161718192021222324
0Metropolis 1927 Drama|Sci-Fi German Germany Not Rated 145 1.33 6000000.0 26435.0 136 23 18.0 203 12000 1 111841 413 260.0 8.3
1Pandora’s Box 1929 Crime|Drama|Romance German Germany Not Rated 110 1.33 9950.0 426 20 3.0 455 926 1 7431 84 71.0 8.0
2Pandora’s Box 1929 Crime|Drama|Romance NaN The Broadway Melody Musical|Romance 100 1.37 379000.0 2808000.0 77 28 4.0 109 167 8 4546 71 36.0 6.3
3Pandora’s Box 1930 Crime|Drama|Romance NaN The Broadway Melody Musical|Romance 96 1.20 3950000.0 431 12 4.0 457 279 1 3753 53 35.0 7.8
4Pandora’s Box 1932 Crime|Drama|Romance NaN The Broadway Melody Musical|Romance 79 1.37 800000.0 998 164 99.0 1284 213 1 3519 46 42.0 6.6

Pandora’s Box

Crime|Drama|Romance

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db'
my_conn = create_engine("sqlite:///"+ my_path)

import pandas as pd 
try:
  query="SELECT * FROM student" # query to collect record 
  df = pd.read_sql(query,my_conn,index_col='id') # create DataFrame
  print(df.head()) # Print top 5 rows as sample
  df.to_excel('D:\student.xlsx')  # create the excel file 
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else:
  print("DataFrame created successfully..")
3
TitleYearGenresLanguageCountryContent RatingDurationAspect RatioBudgetGross EarningsFacebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB Score
0Metropolis 1927 Drama|Sci-Fi German Germany Not Rated 145 1.33 6000000.0 26435.0 136 23 18.0 203 12000 1 111841 413 260.0 8.3
1Pandora’s Box 1929 Crime|Drama|Romance German Germany Not Rated 110 1.33 9950.0 426 20 3.0 455 926 1 7431 84 71.0 8.0
2Pandora’s Box 1929 Crime|Drama|Romance NaN The Broadway Melody Musical|Romance 100 1.37 379000.0 2808000.0 77 28 4.0 109 167 8 4546 71 36.0 6.3
3Pandora’s Box 1930 Crime|Drama|Romance NaN The Broadway Melody Musical|Romance 96 1.20 3950000.0 431 12 4.0 457 279 1 3753 53 35.0 7.8
4Pandora’s Box 1932 Crime|Drama|Romance NaN The Broadway Melody Musical|Romance 79 1.37 800000.0 998 164 99.0 1284 213 1 3519 46 42.0 6.6

Pandora’s Box

Crime|Drama|Romance

NaN

The Broadway Melody
TitleYearGenresLanguageCountryContent RatingDuration
0Aspect Ratio1916 BudgetThe Broadway Melody Not Rated 123
11920 Pandora’s Box The Broadway Melody 110
2Pandora’s Box 1925 Crime|Drama|Romance The Broadway Melody Not Rated 151
3Metropolis 1927 Drama|Sci-Fi German Germany Not Rated 145
4Pandora’s Box 1929 Crime|Drama|Romance German Germany Not Rated 110

Pandora’s Box

Crime|Drama|Romance

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db'
my_conn = create_engine("sqlite:///"+ my_path)

import pandas as pd 
try:
  query="SELECT * FROM student" # query to collect record 
  df = pd.read_sql(query,my_conn,index_col='id') # create DataFrame
  print(df.head()) # Print top 5 rows as sample
  df.to_excel('D:\student.xlsx')  # create the excel file 
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else:
  print("DataFrame created successfully..")
5

NaN
Hãy để sử dụng phương pháp sot_values để sắp xếp dữ liệu theo cột mới mà chúng tôi đã tạo và trực quan hóa 10 bộ phim hàng đầu theo Thu nhập Net.

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError
my_path='G:\\My Drive\\testing\\my_db\\my_db.db'
my_conn = create_engine("sqlite:///"+ my_path)

import pandas as pd 
try:
  query="SELECT * FROM student" # query to collect record 
  df = pd.read_sql(query,my_conn,index_col='id') # create DataFrame
  print(df.head()) # Print top 5 rows as sample
  df.to_excel('D:\student.xlsx')  # create the excel file 
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else:
  print("DataFrame created successfully..")
6

The Broadway Melody

Musical|Romance
Trước tiên chúng ta cần xác định cột hoặc cột sẽ đóng vai trò là chỉ mục và (các) cột mà công thức tóm tắt sẽ được áp dụng. Hãy bắt đầu từ nhỏ, bằng cách chọn Năm làm cột chỉ mục và Tổng thu nhập làm cột tóm tắt và tạo một DataFrame riêng từ dữ liệu này.

English
YearGross Earnings
01916.0
11920.0 3000000.0
21925.0
31927.0 26435.0
41929.0 9950.0

Pandora’s Box

Crime|Drama|Romance
Gross Earnings
Year
1916.0
1920.03000000.0
1925.0
1927.026435.0
1929.01408975.0

Pandora’s Box
Chúng ta có thể sử dụng bảng xoay này để tạo một số trực quan hóa dữ liệu. Chúng ta có thể gọi phương thức cốt truyện trên DataFrame để tạo một biểu đồ dòng và gọi phương thức hiển thị để hiển thị cốt truyện trong sổ ghi chép.

Crime|Drama|Romance


NaN
CountryLanguageGross Earnings
0USA NaN NaN
1USA NaN 3000000.0
2USA NaN NaN
3Germany German 26435.0
4Germany German 9950.0

Chúng tôi sẽ sử dụng các cột Quốc gia và Ngôn ngữ làm chỉ mục cho bảng trụ. Chúng tôi sẽ sử dụng Tổng thu nhập làm bảng tóm tắt, tuy nhiên, chúng tôi không cần chỉ định rõ ràng điều này như chúng tôi đã thấy trước đó.

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
1
Gross Earnings
CountryLanguage
Gross EarningsUSA 1.127331e+06
NaN Germany 7.230936e+06
German Chúng tôi sẽ sử dụng các cột Quốc gia và Ngôn ngữ làm chỉ mục cho bảng trụ. Chúng tôi sẽ sử dụng Tổng thu nhập làm bảng tóm tắt, tuy nhiên, chúng tôi không cần chỉ định rõ ràng điều này như chúng tôi đã thấy trước đó.1.007614e+07
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
1
Afghanistan6.165429e+06
Dari5.052950e+05

Argentina

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
2

Spanish

Aruba

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
3

English

Australia
AboriginalDzongkhaHãy để trực quan hóa bảng này với một cốt truyện thanh. Vì vẫn còn vài trăm bản ghi trong bảng xoay vòng này, chúng tôi sẽ chỉ vẽ một vài trong số chúng.LanguageCountryXuất kết quả ra file Excel – Python Pandas ExcelNếu bạn sẽ làm việc với các đồng nghiệp sử dụng Excel, việc lưu các tệp Excel ra khỏi Pandas là rất quan trọng. Bạn có thể xuất hoặc ghi một DataFrame của Pandas vào tệp Excel bằng phương pháp pandas to_excel. Pandas sử dụng mô-đun Python xlwt bên trong để ghi vào các tệp Excel. Phương thức to_excel được gọi trên DataFrame mà chúng tôi muốn xuất. Chúng tôi cũng cần truyền tên tệp mà DataFrame này sẽ được viết.Theo mặc định, chỉ mục cũng được lưu vào tệp đầu ra. Tuy nhiên, đôi khi chỉ số này không cung cấp bất kỳ thông tin hữu ích nào. Ví dụ: DataFrame phim có chỉ mục tăng tự động số, không phải là một phần của dữ liệu Excel gốc.
from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
4
Gross EarningsTitleYearGenresContent RatingDurationAspect RatioBudgetFacebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast Total
0 Facebook likes – Movie1916.0 Facenumber in postersNaN USA Germany 123.0 1.33 385907.0 NaN Germany 22.0 9.0 481 691 1.0 10718 88.0 69.0 8.0 NaN
1German 1920.0 Chúng tôi sẽ sử dụng các cột Quốc gia và Ngôn ngữ làm chỉ mục cho bảng trụ. Chúng tôi sẽ sử dụng Tổng thu nhập làm bảng tóm tắt, tuy nhiên, chúng tôi không cần chỉ định rõ ràng điều này như chúng tôi đã thấy trước đó.NaN USA NaN 110.0 1.33 100000.0 3000000.0 Germany 2.0 0.0 4 0 1.0 5 1.0 1.0 4.8 2900000.0
2German 1925.0 Chúng tôi sẽ sử dụng các cột Quốc gia và Ngôn ngữ làm chỉ mục cho bảng trụ. Chúng tôi sẽ sử dụng Tổng thu nhập làm bảng tóm tắt, tuy nhiên, chúng tôi không cần chỉ định rõ ràng điều này như chúng tôi đã thấy trước đó.NaN USA Germany 151.0 1.33 245000.0 NaN Germany 12.0 6.0 108 226 0.0 4849 45.0 48.0 8.3 NaN
3German 1927.0 Chúng tôi sẽ sử dụng các cột Quốc gia và Ngôn ngữ làm chỉ mục cho bảng trụ. Chúng tôi sẽ sử dụng Tổng thu nhập làm bảng tóm tắt, tuy nhiên, chúng tôi không cần chỉ định rõ ràng điều này như chúng tôi đã thấy trước đó.German Germany Germany 145.0 1.33 6000000.0 26435.0 Germany 23.0 18.0 203 12000 1.0 111841 413.0 260.0 8.3 -5973565.0
4German 1929.0 Chúng tôi sẽ sử dụng các cột Quốc gia và Ngôn ngữ làm chỉ mục cho bảng trụ. Chúng tôi sẽ sử dụng Tổng thu nhập làm bảng tóm tắt, tuy nhiên, chúng tôi không cần chỉ định rõ ràng điều này như chúng tôi đã thấy trước đó.German Germany Germany 110.0 1.33 NaN 9950.0 Germany 20.0 3.0 455 926 1.0 7431 84.0 71.0 8.0 NaN

German

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
5

Chúng tôi sẽ sử dụng các cột Quốc gia và Ngôn ngữ làm chỉ mục cho bảng trụ. Chúng tôi sẽ sử dụng Tổng thu nhập làm bảng tóm tắt, tuy nhiên, chúng tôi không cần chỉ định rõ ràng điều này như chúng tôi đã thấy trước đó.
Chúng ta có thể sử dụng các tùy chọn đầu ra nâng cao này bằng cách tạo một đối tượng ExcelWriter và sử dụng đối tượng này để ghi vào tệp EXcel.

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
6

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
1

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
7

Afghanistan

from sqlalchemy import create_engine
from sqlalchemy.exc import SQLAlchemyError

my_path='G:\\My Drive\\testing\\my_db\\my_db.db' # update path
my_conn = create_engine("sqlite:///"+ my_path) # connection object

import pandas as pd 
try:
  df = pd.read_excel('D:\\student.xlsx') # create DataFrame by reading Excel
  print(df.head()) # Print top 5 rows as sample
  df.to_sql(con=my_conn,name='student3',if_exists='append') # create table.
except SQLAlchemyError as e:
  #print(e)
  error = str(e.__dict__['orig'])
  print(error)
else: # show all records to confirm
    r_set=my_conn.execute('SELECT * from student3');
    for row in r_set:
        print(row)
8

Dari


Argentina

Spanish

Aruba
Mặt khác, Excel là một công cụ dữ liệu được sử dụng rộng rãi như vậy, nó không phải là một cách khôn ngoan để bỏ qua nó. Có được kiến thức chuyên môn trong cả Pandas và Excel và khiến chúng hoạt động cùng nhau mang lại cho bạn những kỹ năng có thể giúp bạn nổi bật trong tổ chức của mình.

EnglishNordic Coder– Trung tâm đào tạo lập trình hàng đầu với khoá học Data Analysis với Python.