Hướng dẫn how to line up columns in python - cách sắp xếp các cột trong python

Tôi chỉ muốn đọc cột thứ tư và thứ năm của tệp văn bản này

sample.txt

2012-01-01  09:00   San Jose    Men's Clothing  214.05  Amex
2012-01-01  09:00   Fort Worth  Women's Clothing    153.57  Visa
2012-01-01  09:00   San Diego   Music   66.08   Cash

Tôi có thể làm điều này, nhưng định dạng của đầu ra không phải là điều tôi muốn.

đầu ra

Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08

Kết quả mong muốn

Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08

Đây là mã của tôi [tôi đã sử dụng một số định dạng nhưng nó vẫn không cho tôi đầu ra mong muốn]:

for line in open["sample.txt"]:
    strsales=line.split[][-2]
    item=line.split['\t'][3]
    itemsales=item+"{0:>33}".format[strsales]
    print[itemsales]

wjandrea

25.1k8 Huy hiệu vàng53 Huy hiệu bạc74 Huy hiệu đồng8 gold badges53 silver badges74 bronze badges

Hỏi ngày 21 tháng 1 năm 2018 lúc 9:50Jan 21, 2018 at 9:50

Đường thẳng này:

itemsales=item+"{0:>33}".format[strsales]

đang đệm số lượng đến 33 vị trí. Nhưng độ dài của

Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
2 là khác nhau và điều đó khiến cho sự liên kết của bạn bị tắt. Nhìn kỹ và bạn sẽ thấy rằng sự không đồng đều trong hàng 1 và hàng 2 là 2 vị trí và đó chính xác là sự khác biệt về độ dài giữa
Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
3 và
Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
4. Bạn cần phải chuyển cả hai biến đến một số vị trí không đổi. Thử cái này

itemsales = "{0:18}".format[item,strsales]

Đã trả lời ngày 21 tháng 1 năm 2018 lúc 12:27Jan 21, 2018 at 12:27

BoargulesboargulesBoarGules

Huy hiệu vàng 16K22 gold badges29 silver badges43 bronze badges

0

Trong bài đăng cuối cùng, chúng tôi đã học được cách kiểm soát độ chính xác của số chúng tôi in cũng như số lượng không gian mà các số này chiếm. Điều cuối cùng chúng ta cần học để xuất ra các bảng dữ liệu đẹp là cách căn chỉnh văn bản và số khi chúng ta sử dụng

Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
5.

Căn chỉnh văn bản và số với .format []

Trước đây chúng tôi đã học cách chỉ định số lượng khoảng trống được phân bổ cho các đầu vào chúng tôi cung cấp cho

Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
5. Bây giờ chúng ta sẽ thấy rằng chúng ta có thể nói với Python về cách chúng ta muốn sắp xếp văn bản hoặc số của chúng ta trong các không gian này. Chúng tôi có thể điều chỉnh trái [
Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
7], điều chỉnh phải [
Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
8] và trung tâm [
Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
9] các giá trị của chúng tôi. Đây là một ví dụ ngắn gọn:

# Example 1
print['L {:20} R'.format['x']]

Đầu ra của các ví dụ này là:

Tuyệt đấy. Chúng tôi đã nói với Python để lại 20 không gian cho văn bản chúng tôi muốn nhập và tùy thuộc vào biểu tượng chúng tôi đã chỉ định, chúng tôi có thể thay đổi sự biện minh của văn bản của chúng tôi.

Bạn thậm chí có thể chỉ định ký tự bạn muốn sử dụng thay vì khoảng trống.

print ['{:=20}'.format['hello']]

Đầu ra của các ví dụ này là:

hello===============
_______hello________
...............hello

Như bạn có thể thấy,

Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
5 có rất nhiều tùy chọn. Truy cập tài liệu chuỗi hoặc trang web hữu ích này nếu bạn muốn tìm hiểu thêm.

Để tất cả chúng cùng nhau

Khi làm việc với dữ liệu, chúng tôi thường muốn có một cái nhìn nhanh để đảm bảo không có sai lầm và để xem liệu có bất kỳ mẫu nào có mặt không. Một cách để làm điều này là vẽ dữ liệu của bạn. Tuy nhiên, một số loại dữ liệu có xu hướng được trình bày tốt hơn trong một bảng có cấu trúc độc đáo.

Trong ví dụ này, chúng tôi sẽ làm việc với một số dữ liệu trang điểm:

data = [['NAME', 'AGE', 'HANDEDNESS', 'SCORE [%]'],
        ['Martin', 38, 'L', 54.123],
        ['Marty', 33, 'L', 32.438],
        ['Martine', 25, 'R', 71.128],
        ['Martyn', 59, 'R', 50.472],
        ['Mart', 23, 'L', 2.438],
        ['Martyne', 15, 'R', 71.128],
        ['Marlyn', 101, 'R', 0.472],
        ['Marti', 2, 'L', 55.438],
        ['Mardi', 9, 'R', 81.128],
        ['Martyne', 49, 'R', 24.472],
        ['Marteen', 91, 'L', 1.128]]

Lưu ý rằng hàng dữ liệu đầu tiên [

Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08
1] chứa các nhãn cột. Các hàng khác chứa dữ liệu cho từng đối tượng.

Như bạn có thể nghi ngờ, chạy

Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08
2 không dẫn đến đầu ra đẹp [hãy thử để xem cho chính mình!]. Một giải pháp tốt hơn là áp dụng những gì chúng ta đã học để tạo ra một bảng đẹp. Đây là mã:

Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
0

Đầu ra của mã này trông như thế này:

Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
1

Về mặt mã, trước tiên chúng tôi tạo một biến gọi là

Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08
3 chứa 40 dấu gạch ngang.

Mã sau đó đã lặp qua từng trong số 12 mục trong biến

Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08
4 của chúng tôi. Nếu chúng tôi đang xử lý mục đầu tiên của mình [tức là,
Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08
5], chúng tôi nói với Python rằng chúng tôi muốn in một dòng dấu gạch ngang, sau đó in các tiêu đề của chúng tôi, theo sau là một dòng dấu gạch ngang khác. Lưu ý cách chúng tôi chỉ định số lượng không gian chúng tôi muốn cho mỗi tiêu đề cũng như sự liên kết của văn bản.

Đối với tất cả các mục khác trong biến

Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08
4 của chúng tôi, chúng tôi in văn bản và giá trị bằng cùng một số không gian được sử dụng cho tiêu đề và chỉ định xem chúng tôi muốn in số nguyên [
Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08
7], một chuỗi [
Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08
8] hoặc số điểm nổi [
Men's Clothing                             214.05
Women's Clothing                           153.57
Music                                       66.08
9 ]. Lưu ý rằng vì
for line in open["sample.txt"]:
    strsales=line.split[][-2]
    item=line.split['\t'][3]
    itemsales=item+"{0:>33}".format[strsales]
    print[itemsales]
0 là một từ dài, nên có vẻ tốt hơn để tập trung văn bản được in bên dưới nó. Mặt khác, căn chỉnh giống như đối với hàng tiêu đề.

Hãy chắc chắn rằng bạn hiểu cách thức hoạt động của mã này. Để thực sự củng cố việc học của bạn, hãy thử thay đổi mọi thứ trong các câu lệnh in và xem liệu nó có tạo ra kết quả mong đợi không.

Sự kết luận

Hy vọng rằng bạn thích các hướng dẫn này trên phương thức chuỗi

Men's Clothing                           214.05
Women's Clothing                           153.57
Music                            66.08
5 và hàm
for line in open["sample.txt"]:
    strsales=line.split[][-2]
    item=line.split['\t'][3]
    itemsales=item+"{0:>33}".format[strsales]
    print[itemsales]
2. Bây giờ bạn không còn lý do nào cho các câu lệnh in xấu xí và không chính xác!

Và nếu bạn muốn các câu lệnh in Python dễ đọc hơn, hãy xem xét sử dụng F-Strings. Như tôi thảo luận trong bài viết này, chúng là cách hiện đại để in văn bản bằng Python.

Làm thế nào để bạn sắp xếp các cột trong một khung dữ liệu trong Python?

Để căn chỉnh các cột sang trái trong Pandas DataFrame, chúng tôi sử dụng hàm dataFrame.style.set_properies [].use the dataframe. style. set_properties[] function.

Làm thế nào để bạn sắp xếp các dòng trong Python?

Bạn có thể sử dụng tùy chọn:>,: , :< or :^ option in the f-format to left align, right align or center align the text that you want to format. We can use the fortmat[] string function in python to output the desired text in the order we want.

Làm thế nào để bạn sắp xếp các yếu tố trong Python?

You can align values within a specified length of text by using the < , > , or ^ symbols to specify left align, right align, or centering, respectively. Then you follow the those symbols with a character width you desire.

Làm thế nào để bạn để lại căn chỉnh trong Python?

Đối với sự liên kết của các chuỗi, chúng tôi sử dụng cùng một cú pháp mà chúng tôi đã sử dụng để liên kết các số.Để có được một chuỗi bên trái, chúng tôi sử dụng các trò chơi:use the “:

Bài Viết Liên Quan

Chủ Đề