Làm cách nào để đọc cột json trong python?

Tệp JSON lưu trữ dữ liệu dưới dạng văn bản ở định dạng con người có thể đọc được. JSON là viết tắt của Ký hiệu đối tượng JavaScript. Pandas có thể đọc các tệp JSON bằng hàm read_json

Dữ liệu đầu vào

Tạo tệp JSON bằng cách sao chép dữ liệu bên dưới vào trình soạn thảo văn bản như notepad. Lưu tệp với. json và chọn loại tệp là tất cả các tệp [. ]

{
"ID":["1","2","3","4","5","6","7","8" ],
"Name":["Raj","Sham","Tusar","Ram","Jaggu","Karishma","Pranab","Shami" ]
"Salary":["520.5","625.2","411.2","821","900.25","178.2","532.5","822.4" ],
"StartDate":[ "2/2/2012","10/24/2011","12/13/2019","6/4/2004","2/22/2017","6/21/2014",
"8/20/2003","1/18/2019"],
"Dept":[ "Software","Operations","Management","HR","Finance","Software","Operations","Finance"]
}

Đọc tệp JSON

Chức năng read_json của thư viện gấu trúc có thể được sử dụng để đọc tệp JSON vào DataFrame của gấu trúc

import pandas as pd
D = pd.read_json['C:/programFiles/path/input.csv']
print [D]

Khi chúng ta thực thi đoạn mã trên, nó cho ra kết quả như sau.
Tên phòng ban ID Lương Ngày bắt đầu
0 Phần mềm 1 Raj 520. 5 2/2/2012
1 Hoạt động 2 Giả tạo 625. 2 24/10/2011
2 CNTT 3 Tusar 411. 2 13/12/2019
3 HR 4 Ram 821 6/4/2004
4 Tài chính 5 Jaggu 900. 25 22/2/2017
5 Phần mềm 6 Karishma 178. 2 20/8/2003
6 Hoạt động 7 Pranab 532. 5 18/1/2019
7 Tài chính 8 Shami 822. 4 17/6/2014
Đọc các hàng và cột cụ thể
Tương tự như những gì chúng ta đã thấy trong chương trước để đọc tệp CSV, hàm read_json của .
Chúng tôi sử dụng phương pháp lập chỉ mục đa trục được gọi là. loc[] cho mục đích này. Ta chọn hiển thị cột Lương và Tên cho một số hàng.
nhập gấu trúc dưới dạng pd
data = pd. read_json['đường dẫn/đầu vào. xlsx']

Sử dụng chức năng lập chỉ mục đa trục

in [dữ liệu. loc[[1,3,5],['salary','name']]]
Khi chúng ta thực thi đoạn mã trên, nó sẽ tạo ra kết quả như sau.
tên lương
1 520. 5 Raj
3 411. 2 Tusar
5 900. 25 Jaggu
Đọc tệp JSON dưới dạng Bản ghi
Chúng ta cũng có thể áp dụng hàm to_json cùng với các tham số để đọc nội dung tệp JSON thành các bản ghi riêng lẻ.
nhập gấu trúc dưới dạng pd
D = pd. read_json['C. /chương trình/đường dẫn/đầu vào. xlsx']
print[D. to_json[orient='records', lines=True]]
Khi chúng ta thực thi đoạn mã trên, nó sẽ tạo ra kết quả như sau.
{"Phòng". "Phần mềm","ID". 1,"Tên". "Raj","Mức lương". 520. 5,"Ngày bắt đầu". "2/2/2012"}
{"Phòng". "Hoạt động","ID". 2,"Tên". "Sham","Lương". 625. 2,"Ngày bắt đầu". "24/10/2011"}
{"Phòng". "IT","ID". 3,"Tên". "Tusar","Lương". 911. 0,"Ngày bắt đầu". "13/12/2019"}
{"Phòng". "Nhân sự","ID". 4,"Tên". "Ram","Lương". 821,"Ngày bắt đầu". "6/4/2004"}
{"Phòng". "Tài chính","ID". 5,"Tên". "Jaggu",,"Lương". 900. 25,"Ngày bắt đầu". "22/2/2017"}
{"Phòng". "IT","ID". 6,"Tên". "Rasmi","Lương". 578. 0,"Ngày bắt đầu". "21/5/2013"}
{"Phòng". "Hoạt động","ID". 7,"Tên". "Karishma ","Lương"178. 2,"Ngày bắt đầu". "20/8/2003"}
{"Phòng". "Tài chính","ID". 8,"Tên". "Shami ","Mức lương". 822. 4,"Ngày bắt đầu". "17/6/2014"}
Trang trước
Trang in
Trang tiếp theo  
Advertisements

Dept  ID    Name  Salary   StartDate
0          Software    1    Raj   520.5     2/2/2012
1  Operations   2     Sham   625.2   10/24/2011
2          Management   3   Tusar  411.2  12/13/2019
3          HR   4    Ram   821    6/4/2004
4     Finance   5    Jaggu   900.25   2/22/2017
5          Software    6   Karishma   178.2   8/20/2003
6  Operations   7  Pranab  532.5    1/18/2019
7     Finance   8    Shami   822.4    6/17/2014

Đọc các cột và hàng cụ thể

Tương tự như những gì chúng ta đã thấy trong chương trước để đọc tệp CSV, hàm read_json của thư viện pandas cũng có thể được sử dụng để đọc một số cột và hàng cụ thể sau khi tệp JSON được đọc vào DataFrame.
Chúng tôi sử dụng phương pháp lập chỉ mục đa trục được gọi là. loc[] cho mục đích này. Ta chọn hiển thị cột Lương và Tên cho một số hàng.

import pandas as pd
D = pd.read_json['C:/programfiles/path/input.xlsx']
# Use the multi-axes indexing funtion
print [D.loc[[1,3,5],['salary','name']]]

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau

salary   name
1   515.2    Raj
3   729.0   Tusar
5   578.0  Karishma
Python - Xử lý dữ liệu XLS

Microsoft Excel là một chương trình bảng tính được sử dụng rất rộng rãi. Sự thân thiện với người dùng và các tính năng hấp dẫn khiến nó trở thành một công cụ được sử dụng rất thường xuyên trong Khoa học dữ liệu.
Thư viện Pandas cung cấp các tính năng sử dụng để chúng tôi có thể đọc toàn bộ tệp Excel cũng như từng phần cho chỉ một nhóm Dữ liệu được chọn. Chúng tôi cũng có thể đọc một tệp Excel có nhiều trang tính trong đó. Chúng tôi sử dụng hàm read_excel để đọc dữ liệu từ nó.

Nhập dưới dạng tệp Excel

Chúng tôi tạo một file excel gồm nhiều sheet trong hệ điều hành windows. Dữ liệu trong các sheet khác nhau như hình bên dưới.
Bạn có thể tạo tệp này bằng Chương trình Excel trong hệ điều hành windows. Lưu tệp dưới dạng đầu vào. xlsx.

Dữ liệu trong Sheet1

id,name,salary,start_date,dept
1,Raj ,520. 5 ,2/2/2012,Phần mềm
2,Sham ,625. 2 ,24/10/2011,Hoạt động
3,Tusar,411. 2,12/13/2019,Quản lý
4,Ram ,821 ,6/4/2004 ,Tài chính
6,Jaggu ,900. 25 , 22/2/2017,Phần mềm
7,Pranab,532. 5 ,1/18/2019,Hoạt động
8,Shami ,822. 4 ,17/6/2014,Tài chính

Dữ liệu trong Sheet2

id name zipcode
1 Raj 602225
2 Sham 341255
3 Tusar 602326
4 Ram 222568
5 Jaggu 438700
6 Karishma 224556
7 Pranab 341211
8 Shami 669875
Reading an Excel File
The read_excel function of the pandas library is used read the content of an Excel file into the python environment as a pandas DataFrame. The function can read the files from the OS by using proper path to the file. By default, the function will read Sheet1.
nhập gấu trúc dưới dạng pd
D = pd. read_excel['C. /localDisc/đường dẫn/đầu vào. xlsx']
print [D]
Khi chúng tôi thực thi đoạn mã trên, nó sẽ tạo ra kết quả sau. Xin lưu ý cách một cột bổ sung bắt đầu bằng 0 làm chỉ mục đã được tạo bởi hàm.
Tên phòng ban ID Lương Ngày bắt đầu
0 Phần mềm 1 Raj 520. 5 2/2/2012
1 Hoạt động 2 Giả 625. 2 24/10/2011
2 Quản lý 3 Tusar 411. 2 13/12/2019
3 Nhân sự 4 Ram 821 6/4/2004
4 Tài chính 5 Jaggu 900. 25 22/2/2017
5 Phần mềm 6 Karishma 178. 2 20/8/2003
6 Hoạt động 7 Pranab 532. 5 18/1/2019
7 Tài chính 8 Shami 822. 4 17/6/2014
Đọc các hàng và cột cụ thể
Tương tự như những gì chúng ta đã thấy trong chương trước để đọc tệp CSV, hàm read_excel của .
Chúng tôi sử dụng phương pháp lập chỉ mục đa trục được gọi là. loc[] cho mục đích này. Ta chọn hiển thị cột lương và tên cho một số hàng.
nhập gấu trúc dưới dạng pd
D = pd. read_excel['C. /localDisc/đường dẫn/đầu vào. xlsx']

Sử dụng chức năng lập chỉ mục đa trục

in [dữ liệu. loc[[1,3,5],['salary','name']]]
Khi chúng ta thực thi đoạn mã trên, nó sẽ tạo ra kết quả như sau.
tên lương
1 515. 2 Raj
3 729. 0 Ram
5 578. 0 Jaggu
Đọc nhiều trang tính Excel
Có thể đọc nhiều trang tính với các định dạng Dữ liệu khác nhau bằng cách sử dụng hàm read_excel với sự trợ giúp của lớp trình bao bọc có tên là ExcelFile. Nó sẽ chỉ đọc nhiều trang tính vào bộ nhớ một lần.
Trong ví dụ dưới đây, chúng tôi đọc sheet1 và sheet2 thành hai khung dữ liệu và in chúng ra riêng lẻ.
nhập gấu trúc dưới dạng pd
với pd. Tệp Excel['C. /Người dùng/Rasmi/Tài liệu/pydatasci/đầu vào. xlsx'] dưới dạng xls.
df_1 = pd. read_excel[xls, 'Sheet1']
df_2 = pd. read_excel[xls, 'Sheet2']
print["Result Sheet 1"]
print [df1[0. 5]['salary']]
print[""]
print["*Bảng kết quả 2"]
print . 5]['zipcode']]
Khi chúng tôi thực thi đoạn mã trên, nó sẽ tạo ra kết quả sau.
Bảng kết quả 1***
0 520. 5
1 625. 2
2 411. 2
3 821
4 900. 25
Tên. tiền lương, loại. float64
Bảng kết quả 2****
0 602225
1 341255
2 602326 . mã zip, dtype. int64
3 222568
4 438700
Name: zipcode, dtype: int64
Trang trước
Trang in
Trang tiếp theo  
Quảng cáo
You can create this file using the Excel Program in windows OS. Save the file as input.xlsx.

# Data in Sheet1
id,name,salary,start_date,dept
1,Raj ,520.5 ,2/2/2012,Software
2,Sham ,625.2 ,10/24/2011,Operations
3,Tusar,411.2,12/13/2019,Management
4,Ram ,821 ,6/4/2004 ,Finance
6,Jaggu ,900.25 , 2/22/2017,Software
7,Pranab,532.5 ,1/18/2019,Operations
8,Shami ,822.4 ,6/17/2014,Finance
# Data in Sheet2
id  name    zipcode
1   Raj 602225
2   Sham    341255
3   Tusar   602326
4   Ram 222568
5   Jaggu   438700
6   Karishma    224556
7   Pranab  341211
8   Shami   669875
Python - Cơ sở dữ liệu quan hệ

Chúng tôi có thể kết nối với cơ sở dữ liệu quan hệ để phân tích dữ liệu bằng thư viện pandas cũng như một thư viện bổ sung khác để triển khai kết nối cơ sở dữ liệu.
Gói này có tên là sqlalchemy cung cấp đầy đủ chức năng của ngôn ngữ SQL để sử dụng trong python.

Cài đặt SQLAlchemy

Việc cài đặt rất đơn giản bằng cách sử dụng Anaconda mà chúng ta đã thảo luận trong chương Môi trường khoa học dữ liệu. Giả sử bạn đã cài đặt Anaconda như được mô tả trong chương này,
hãy chạy lệnh sau trong Cửa sổ nhắc Anaconda để cài đặt gói SQLAlchemy.

conda install sqlalchemy

Đọc các bảng quan hệ

Chúng tôi sẽ sử dụng Sqlite3 làm cơ sở dữ liệu quan hệ vì nó rất nhẹ và dễ sử dụng. Mặc dù thư viện SQLAlchemy có thể kết nối với nhiều nguồn quan hệ bao gồm MySql, Oracle và Postgresql và Mssql.
Đầu tiên, chúng ta tạo một công cụ cơ sở dữ liệu, sau đó kết nối với công cụ cơ sở dữ liệu đó bằng hàm to_sql của thư viện SQLAlchemy.
Trong ví dụ dưới đây, chúng tôi tạo bảng quan hệ bằng cách sử dụng hàm to_sql từ khung dữ liệu đã được tạo bằng cách đọc tệp csv.
Sau đó, chúng tôi sử dụng hàm read_sql_query từ pandas để thực thi và lấy kết quả từ các truy vấn SQL khác nhau.

from sqlalchemy import create_engine
import pandas as pd
D = pd.read_csv['C:/programfiles/path/input.csv']
# Create the db engine
eng = create_engine['sqlite:///:memory:']
# Store the dataframe as a table
D.to_sql['data_table', eng]
# Query 1 on the relational table
result1 = pd.read_sql_query['SELECT * FROM data_table', engine]
print['Result 1']
print[result1]
print['']
# Query 2 on the relational table
result2 = pd.read_sql_query['SELECT dept,sum[salary] FROM data_table group by dept', engine]
print['Result 2']
print[result2]

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau

________số 8

Chèn dữ liệu vào bảng quan hệ

Chúng ta cũng có thể chèn dữ liệu vào bảng quan hệ bằng sql. chức năng thực thi có sẵn trong pandas. Trong đoạn mã dưới đây, chúng tôi đặt trước tệp csv dưới dạng tập dữ liệu đầu vào, lưu trữ nó trong bảng quan hệ và sau đó
chèn một bản ghi khác bằng sql. hành hình.

from sqlalchemy import create_engine
from pandas.io import sql
import pandas as pd
D = pd.read_csv['C:/Admin/Karishma/Documents/pydatasci/input.csv']
eng = create_engine['sqlite:///:memory:']
# Store the Data in a relational table
data.to_sql['data_table', eng]
# Insert another row
sql.execute['INSERT INTO data_table VALUES[?,?,?,?,?,?]', eng, params=[['id',9,'Rubika',628.78,'2014-01-17','Software']]]
# Read from the relational table
result = pd.read_sql_query['SELECT ID,Dept,Name,Salary,start_date FROM data_table', eng]
print[result]

Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau

import pandas as pd
D = pd.read_json['C:/programFiles/path/input.csv']
print [D]
0

Xóa dữ liệu khỏi các bảng quan hệ

Ta cũng có thể xóa dữ liệu vào bảng quan hệ bằng sql. chức năng thực thi có sẵn trong gấu trúc. Đoạn mã dưới đây xóa một hàng dựa trên điều kiện đầu vào đã cho

Làm cách nào để trích xuất dữ liệu từ JSON trong Python?

Tìm nạp tất cả Giá trị từ tệp JSON . Mở tệp JSON ở chế độ chỉ đọc và tải dữ liệu JSON vào một biến bằng hàm load[] của Python . In biến nơi dữ liệu JSON được tải.

Làm cách nào để lấy trường từ phản hồi JSON trong Python?

Chỉ cần thực hiện phản hồi. json[] , thế là xong. phản ứng. json[] trả về phản hồi JSON ở định dạng từ điển Python để chúng tôi có thể truy cập JSON bằng các cặp khóa-giá trị.

Làm cách nào để đọc từng dòng JSON trong Python?

Để tải và phân tích tệp JSON có nhiều đối tượng JSON, chúng ta cần làm theo các bước dưới đây. .
Tạo một danh sách trống gọi là jsonList
Đọc từng dòng tệp vì mỗi dòng chứa JSON hợp lệ. .
Chuyển đổi từng đối tượng JSON thành Python dict bằng cách sử dụng json. .
Lưu từ điển này vào một danh sách có tên là result jsonList

Chủ Đề