Hướng dẫn how do i remove commas between numbers in python? - làm cách nào để xóa dấu phẩy giữa các số trong python?

Sử dụng Python v2, tôi có người dùng nhập một lượng vào một chuỗi như dưới đây:

Show
RawPurchaseAmount = raw_input("Please enter purchase amount: ")

PurchaseAmount = float(RawPurchaseAmount.strip().lstrip("$"))

Điều này đang tước bỏ bất kỳ khoảng trống nào ở phía trước đầu vào và xóa dấu $ nếu được nhập.

Có cách nào để xóa biểu tượng dấu phẩy nếu nó được nhập không? IE: $ 10.000,00 để trở thành 10000,00

Cảm ơn vì bất kì sự giúp đỡ.

Hướng dẫn how do i remove commas between numbers in python? - làm cách nào để xóa dấu phẩy giữa các số trong python?

Dusan

8.9243 huy hiệu vàng35 Huy hiệu bạc54 Huy hiệu đồng3 gold badges35 silver badges54 bronze badges

Đã hỏi ngày 3 tháng 3 năm 2011 lúc 11:35Mar 3, 2011 at 11:35

Bạn có thể sử dụng

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
0 để xóa tất cả các dấu phẩy:

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
1

Đã trả lời ngày 3 tháng 3 năm 2011 lúc 11:39Mar 3, 2011 at 11:39

NPENPENPE

474K105 Huy hiệu vàng930 Huy hiệu bạc1002 Huy hiệu Đồng105 gold badges930 silver badges1002 bronze badges

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'

Mẫu biểu thức chính quy cho biết "bất cứ điều gì không phải là một số hoặc một điểm thập phân". Bất cứ điều gì phù hợp với Regex được thay thế bằng "".

Bạn có thể cần phải nhớ rằng một số nước châu Âu sử dụng. Là hàng ngàn người và, như dấu thập phân.

Vì vậy, "một triệu euro và 5 xu" có thể là € 1.000.000,05 hoặc € 1.000.000,05

Đã trả lời ngày 3 tháng 3 năm 2011 lúc 12:07Mar 3, 2011 at 12:07

Stephen Paulgerstephen PaulgerStephen Paulger

5.0933 Huy hiệu vàng25 Huy hiệu bạc44 Huy hiệu đồng3 gold badges25 silver badges44 bronze badges

2

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'

Xóa

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
2, bất kỳ ký tự nào khác, ngoại trừ một chữ số hoặc
>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
3 trong một lần.

Đã trả lời ngày 3 tháng 3 năm 2011 lúc 11:54Mar 3, 2011 at 11:54

user225312user225312user225312

122K66 Huy hiệu vàng167 Huy hiệu bạc181 Huy hiệu Đồng66 gold badges167 silver badges181 bronze badges

1

Cập nhật câu trả lời của Stephenpaulger là tốt hơn. StephenPaulger's answer is better.

Câu trả lời ban đầu

Nếu bạn không bận tâm đến các biểu thức chính quy, bạn cũng có thể thay thế cả

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
2 và
>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
5 trong một lần. Một cái gì đó như thế này:

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 

Hãy nhớ biên dịch biểu thức thông thường nếu bạn có kế hoạch thực hiện việc này nhiều lần trong cùng một chương trình.

Đã trả lời ngày 3 tháng 3 năm 2011 lúc 11:46Mar 3, 2011 at 11:46

Manoj Govindanmanoj GovindanManoj Govindan

70K21 Huy hiệu vàng131 Huy hiệu bạc138 Huy hiệu đồng21 gold badges131 silver badges138 bronze badges

Phần thưởng: Xóa dấu phẩy khỏi tệp văn bản

Điều gì xảy ra nếu bạn muốn xóa một ký tự được chỉ định khỏi tất cả các dòng trong tệp văn bản phẳng? Một giải pháp một lớp lót đơn giản loại bỏ các ký tự dấu phẩy và Newline dựa trên biểu thức

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
8
In the valley of the blind, the one-eyed man is king.
9.

Nội dung của proverbs.txt

Mã này mở và đọc nội dung của

proverb = 'In the valley, of the blind the one eyed man is king.'
result  = re.sub(',', '', proverb)
print(result)
1 một dòng tại một thời điểm.

Mỗi dòng được đánh giá và ký tự được chỉ định được loại bỏ (

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
8). Điều này được gọi một lần nữa vì chúng tôi cũng muốn xóa ký tự mới (‘
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = re.sub(',', '', proverb)
print(result)
3).Question: How would we write Python code to remove a comma/commas from a String?

Cuối cùng, đầu ra tiết kiệm đến

import re
0 và được gửi đến thiết bị đầu cuối ở định dạng
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 chứa ba (3) phần tử.

  • Python One -Liners - Trick 2 Đọc tệp và Dải () dòng: Use
    >>> x = '$10,00.00'
    >>> ''.join(e for e in x if e.isdigit() or e == '.')
    '1000.00'
    
    6
  • Bản tóm tắt: Use
    >>> x = '$10,00.00'
    >>> ''.join(e for e in x if e.isdigit() or e == '.')
    '1000.00'
    
    7
  • Năm (5) phương pháp loại bỏ dấu phẩy/dấu phẩy khỏi chuỗi sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho các yêu cầu mã hóa của bạn.: Use
    >>> x = '$10,00.00'
    >>> ''.join(e for e in x if e.isdigit() or e == '.')
    '1000.00'
    
    8 and
    >>> x = '$10,00.00'
    >>> ''.join(e for e in x if e.isdigit() or e == '.')
    '1000.00'
    
    9
  • Chúc may mắn và mã hóa hạnh phúc!: Use a
    >>> import re
    >>> RawPurchaseAmount
    '$10,000'
    >>> re.sub('[\$,]', '', RawPurchaseAmount)
    '10000'
    >>> 
    
    0 and
    >>> x = '$10,00.00'
    >>> ''.join(e for e in x if e.isdigit() or e == '.')
    '1000.00'
    
    9
  • Ở trường đại học, tôi tìm thấy tình yêu viết và mã hóa của mình. Cả hai trong số đó tôi đã có thể sử dụng trong sự nghiệp của mình.: Use
    >>> x = '$10,00.00'
    >>> ''.join(e for e in x if e.isdigit() or e == '.')
    '1000.00'
    
    6 and
    >>> x = '$10,00.00'
    >>> ''.join(e for e in x if e.isdigit() or e == '.')
    '1000.00'
    
    9
  • Phương pháp 5: Sử dụng thay thế () và Split (): Remove Commas from a Text File

Phương pháp đơn giản này sử dụng >>> x = '$10,00.00' >>> ''.join(e for e in x if e.isdigit() or e == '.') '1000.00' 6 và >>> x = '$10,00.00' >>> ''.join(e for e in x if e.isdigit() or e == '.') '1000.00' 9 trên một dòng để loại bỏ tất cả các lần xuất hiện của ký tự được chỉ định (>>> import re >>> RawPurchaseAmount '$10,000' >>> re.sub('[\$,]', '', RawPurchaseAmount) '10000' >>> 8) và trả về proverb = 'In the valley, of the blind the one eyed man is king.' result = proverb.replace(',', '') print(result)7.

Mã này khai báo một chuỗi chứa hai (2) dấu phẩy và lưu nó vào

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
5.

import re

Tiếp theo, >>> x = '$10,00.00' >>> ''.join(e for e in x if e.isdigit() or e == '.') '1000.00' 6 được thêm vào >>> import re >>> RawPurchaseAmount '$10,000' >>> re.sub('[\$,]', '', RawPurchaseAmount) '10000' >>> 5, loại bỏ (các) ký tự được chỉ định khỏi chuỗi. Sau đó, >>> x = '$10,00.00' >>> ''.join(e for e in x if e.isdigit() or e == '.') '1000.00' 9 chia dòng trên ký tự được chỉ định (>>> import re >>> RawPurchaseAmount '$10,000' >>> re.sub('[\$,]', '', RawPurchaseAmount) '10000' >>> 8).

Một danh sách chứa một (1) phần tử trả về.

Cuối cùng, để xuất ra

import re
0 mà không cần áp dụng các dấu ngoặc xung quanh
In the valley of the blind, the one-eyed man is king.
7 cho cuối cùng.

proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)

Phần thưởng: Xóa dấu phẩy khỏi tệp văn bản

Điều gì xảy ra nếu bạn muốn xóa một ký tự được chỉ định khỏi tất cả các dòng trong tệp văn bản phẳng? Một giải pháp một lớp lót đơn giản loại bỏ các ký tự dấu phẩy và Newline dựa trên biểu thức

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
8
In the valley of the blind, the one-eyed man is king.
9.

  • Nội dung của proverbs.txt
  • Mã này mở và đọc nội dung của
    proverb = 'In the valley, of the blind the one eyed man is king.'
    result  = re.sub(',', '', proverb)
    print(result)
    1 một dòng tại một thời điểm.

Mỗi dòng được đánh giá và ký tự được chỉ định được loại bỏ (

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
8). Điều này được gọi một lần nữa vì chúng tôi cũng muốn xóa ký tự mới (‘
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = re.sub(',', '', proverb)
print(result)
3).

Đầu ra

In the valley of the blind the one-eyed man is king.

Cuối cùng, đầu ra tiết kiệm đến

import re
0 và được gửi đến thiết bị đầu cuối ở định dạng
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 chứa ba (3) phần tử.

Python One -Liners - Trick 2 Đọc tệp và Dải () dòng

Bản tóm tắt

proverb = 'In the valley, of the blind, the one eyed man is king.'
result  = proverb.replace(',', '', 1)
print(result)

Năm (5) phương pháp loại bỏ dấu phẩy/dấu phẩy khỏi chuỗi sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho các yêu cầu mã hóa của bạn.

Mỗi dòng được đánh giá và ký tự được chỉ định được loại bỏ (

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
8). Điều này được gọi một lần nữa vì chúng tôi cũng muốn xóa ký tự mới (‘
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = re.sub(',', '', proverb)
print(result)
3).

Cuối cùng, đầu ra tiết kiệm đến

import re
0 và được gửi đến thiết bị đầu cuối ở định dạng
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 chứa ba (3) phần tử.Note: When passing
import re
2 to
>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
6, it starts removing the specified number of the selected character(s) from the left of the string.

Đầu ra

In the valley of the blind, the one-eyed man is king.

Perfect!

Python One -Liners - Trick 2 Đọc tệp và Dải () dòng


Phương pháp 2: Sử dụng regex

Phương thức này gọi thư viện

import re
7, xóa tất cả các lần xuất hiện ký tự được chỉ định và trả về một chuỗi mới với các sửa đổi.all specified character occurrences, and returns a new string with modifications.

proverb = 'In the valley, of the blind the one eyed man is king.'
result  = re.sub(',', '', proverb)
print(result)

Mã này khai báo một chuỗi chứa một dấu phẩy và lưu nó vào

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
5.

Tiếp theo,

import re
9 được gọi với ba (3) đối số:

  • Đối số đầu tiên là ký tự để thay thế/xóa (
    >>> import re
    >>> RawPurchaseAmount
    '$10,000'
    >>> re.sub('[\$,]', '', RawPurchaseAmount)
    '10000'
    >>> 
    
    8).
  • Đối số thứ hai là ký tự để thay thế đối số đầu tiên bằng (
    >>> import re
    >>> RawPurchaseAmount
    '$10,000'
    >>> re.sub('[\$,]', '', RawPurchaseAmount)
    '10000'
    >>> 
    
    9). Trong trường hợp này, một chuỗi trống.
  • Đối số thứ ba là chuỗi để áp dụng điều này cho (
    >>> import re
    >>> RawPurchaseAmount
    '$10,000'
    >>> re.sub('[\$,]', '', RawPurchaseAmount)
    '10000'
    >>> 
    
    5).

Cuối cùng,

import re
0 được lưu và đầu ra vào thiết bị đầu cuối.

Đầu ra

In the valley of the blind the one-eyed man is king.

& Nbsp; Lưu ý: Không giống như phương pháp 1, phương thức này không cung cấp tùy chọn nhập một số lượng được chỉ định (số lần xuất hiện) để xóa. Trong trường hợp này, tất cả các lần xuất hiện sẽ được gỡ bỏ.Note: Unlike Method 1, this method does not offer the option to enter a specified count (number of occurrences) to remove. In this case, all occurrences will be removed.

5 Phải có kỹ năng để trở thành một lập trình viên (mà bạn không biết)


Phương pháp 3: Sử dụng danh sách hiểu biết

Phương pháp này sử dụng

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
8 và
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
5 để lặp để đánh giá, sau đó phân chia dòng trên ký tự được chỉ định (
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
6) và loại bỏ giống nhau. Một
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 được trả lại.

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'
1

Mã này khai báo một chuỗi chứa hai (2) dấu phẩy và lưu nó vào

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
5.

Tiếp theo,

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
9 được gọi và chuyển ký tự để chia chuỗi trên (
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
6).

Cuối cùng,

import re
0 được lưu và đầu ra vào thiết bị đầu cuối ở định dạng
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 chứa ba (3) phần tử.

Giới thiệu đơn giản về danh sách hiểu trong Python

Đầu ra

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'
2

& Nbsp; Lưu ý: Không giống như phương pháp 1, phương thức này không cung cấp tùy chọn nhập một số lượng được chỉ định (số lần xuất hiện) để xóa. Trong trường hợp này, tất cả các lần xuất hiện sẽ được gỡ bỏ.

5 Phải có kỹ năng để trở thành một lập trình viên (mà bạn không biết)

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'
3

Mã này khai báo một chuỗi chứa hai (2) dấu phẩy và lưu nó vào

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
5.

Tiếp theo,

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
9 được gọi và chuyển ký tự để chia chuỗi trên (
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
6).

Cuối cùng,

import re
0 được lưu và đầu ra vào thiết bị đầu cuối ở định dạng
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 chứa ba (3) phần tử.

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'
4

Giới thiệu đơn giản về danh sách hiểu trong Python

Phương pháp 4: Sử dụng Lambda và Split ()

Đầu ra

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'
2

& Nbsp; Lưu ý: Không giống như phương pháp 1, phương thức này không cung cấp tùy chọn nhập một số lượng được chỉ định (số lần xuất hiện) để xóa. Trong trường hợp này, tất cả các lần xuất hiện sẽ được gỡ bỏ.

5 Phải có kỹ năng để trở thành một lập trình viên (mà bạn không biết)

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'
6

Mã này khai báo một chuỗi chứa hai (2) dấu phẩy và lưu nó vào

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
5.

Tiếp theo,

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
9 được gọi và chuyển ký tự để chia chuỗi trên (
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
6).

Cuối cùng,

import re
0 được lưu và đầu ra vào thiết bị đầu cuối ở định dạng
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 chứa ba (3) phần tử.

Giới thiệu đơn giản về danh sách hiểu trong Python

Đầu ra

In the valley of the blind the one-eyed man is king.

& Nbsp; Lưu ý: Không giống như phương pháp 1, phương thức này không cung cấp tùy chọn nhập một số lượng được chỉ định (số lần xuất hiện) để xóa. Trong trường hợp này, tất cả các lần xuất hiện sẽ được gỡ bỏ.

5 Phải có kỹ năng để trở thành một lập trình viên (mà bạn không biết)

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'
8

Phương pháp 3: Sử dụng danh sách hiểu biết

proverb = 'In the valley, of the blind the one eyed man is king.'
result  = re.sub(',', '', proverb)
print(result)
0

Phương pháp này sử dụng

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
8 và
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
5 để lặp để đánh giá, sau đó phân chia dòng trên ký tự được chỉ định (
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
6) và loại bỏ giống nhau. Một
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 được trả lại.

Mã này khai báo một chuỗi chứa hai (2) dấu phẩy và lưu nó vào

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
5.

Tiếp theo,

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
9 được gọi và chuyển ký tự để chia chuỗi trên (
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
6).

Cuối cùng,

import re
0 được lưu và đầu ra vào thiết bị đầu cuối ở định dạng
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 chứa ba (3) phần tử.

Đầu ra

>>> import re
>>> re.sub("[^\d\.]", "", "$1,000,000.01")
'1000000.01'
9

& Nbsp; Lưu ý: Không giống như phương pháp 1, phương thức này không cung cấp tùy chọn nhập một số lượng được chỉ định (số lần xuất hiện) để xóa. Trong trường hợp này, tất cả các lần xuất hiện sẽ được gỡ bỏ.

5 Phải có kỹ năng để trở thành một lập trình viên (mà bạn không biết)

Phương pháp 3: Sử dụng danh sách hiểu biết


Hướng dẫn how do i remove commas between numbers in python? - làm cách nào để xóa dấu phẩy giữa các số trong python?

Phương pháp này sử dụng

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
8 và
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
5 để lặp để đánh giá, sau đó phân chia dòng trên ký tự được chỉ định (
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
6) và loại bỏ giống nhau. Một
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
7 được trả lại.

Mã này khai báo một chuỗi chứa hai (2) dấu phẩy và lưu nó vào

>>> import re
>>> RawPurchaseAmount
'$10,000'
>>> re.sub('[\$,]', '', RawPurchaseAmount)
'10000'
>>> 
5.

Tiếp theo,

>>> x = '$10,00.00'
>>> ''.join(e for e in x if e.isdigit() or e == '.')
'1000.00'
9 được gọi và chuyển ký tự để chia chuỗi trên (
proverb = 'In the valley, of the blind the one eyed man is king.'
result  = proverb.replace(',', '')
print(result)
6).
Corporate Trainer (staff of 30+)
Programming Instructor
Implementation Specialist for Navision and Microsoft CRM
Senior PHP Coder