Tiền tệ phân tích cú pháp python

>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
8

>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
9

>>> Price.fromstring["Price: $119.00"]
Price[amount=Decimal['119.00'], currency='$']
0

>>> Price.fromstring["Price: $119.00"]
Price[amount=Decimal['119.00'], currency='$']
1

>>> Price.fromstring["Price: $119.00"]
Price[amount=Decimal['119.00'], currency='$']
2

>>> Price.fromstring["Price: $119.00"]
Price[amount=Decimal['119.00'], currency='$']
3

>>> Price.fromstring["Price: $119.00"]
Price[amount=Decimal['119.00'], currency='$']
4

>>> Price.fromstring["Price: $119.00"]
Price[amount=Decimal['119.00'], currency='$']
5

Trường hợp sử dụng chính là phân tích giá được trích xuất từ ​​​​các trang web. Ví dụ: bạn có thể viết bộ chọn CSS/XPath nhắm mục tiêu một phần tử có giá, sau đó sử dụng thư viện này để dọn dẹp nó, thay vì viết mã regex hoặc mã Python tùy chỉnh dành riêng cho trang web

Giấy phép là điều khoản 3 BSD

Cách sử dụng

sử dụng cơ bản

>>> from price_parser import Price
>>> price = Price.fromstring["22,90 €"]
>>> price
Price[amount=Decimal['22.90'], currency='€']
>>> price.amount       # numeric price amount
Decimal['22.90']
>>> price.currency     # currency symbol, as appears in the string
'€'
>>> price.amount_text  # price amount, as appears in the string
'22,90'
>>> price.amount_float # price amount as float, not Decimal
22.9

Nếu bạn thích, Giá. fromstring có bí danh price_parser. parse_price, họ cũng làm như vậy

>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']

Thư viện có nhiều bài kiểm tra [hơn 900 ví dụ thực tế về chuỗi giá]. Một số trường hợp được hỗ trợ được mô tả bên dưới

Các trường hợp được hỗ trợ

Chuỗi giá không rõ ràng với các loại tiền tệ khác nhau được hỗ trợ;

>>> Price.fromstring["Price: $119.00"]
Price[amount=Decimal['119.00'], currency='$']
____3
>>> Price.fromstring["151,200 تومان"]
Price[amount=Decimal['151200'], currency='تومان']
>>> Price.fromstring["Rp 1.550.000"]
Price[amount=Decimal['1550000'], currency='Rp']
>>> Price.fromstring["Běžná cena 75 990,00 Kč"]
Price[amount=Decimal['75990.00'], currency='Kč']

Dấu hiệu Euro được sử dụng làm dấu phân cách thập phân trong tự nhiên

>>> Price.fromstring["1,235€ 99"]
Price[amount=Decimal['1235.99'], currency='€']
>>> Price.fromstring["99 € 95 €"]
Price[amount=Decimal['99'], currency='€']
>>> Price.fromstring["35€ 999"]
Price[amount=Decimal['35'], currency='€']

Xử lý một số trường hợp đặc biệt

>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
0

Khi không thể trích xuất giá hoặc tiền tệ, các giá trị thuộc tính tương ứng được đặt thành Không có

>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
1
>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
2
>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
3
>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
4
>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
5

gợi ý tiền tệ

đối số currency_hint cho phép truyền một chuỗi văn bản có thể [hoặc không] chứa thông tin tiền tệ. Tính năng này hữu ích nhất cho khai thác giá tự động

>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
6

Lưu ý rằng tiền tệ được đề cập trong chuỗi giá chính có thể được ưu tiên hơn tiền tệ được chỉ định trong đối số currency_hint; . Nếu bạn biết loại tiền chính xác, bạn có thể đặt trực tiếp

>>> from price_parser import parse_price
>>> parse_price["22,90 €"]
Price[amount=Decimal['22.90'], currency='€']
7

Phân số thập phân

Nếu bạn biết ký hiệu nào được sử dụng làm dấu tách thập phân trong chuỗi đầu vào, hãy chuyển ký hiệu đó vào đối số bộ phân tách_thập phân để ngăn trình phân tích cú pháp giá đoán sai ký hiệu dấu tách thập phân

Chủ Đề