Làm thế nào để bạn thêm một cột trong python excel?

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách thêm một cột mới trong DataFrame của gấu trúc. Chúng ta sẽ thấy một số cách tiếp cận khác nhau để chèn cột vào khung dữ liệu gấu trúc

Bài viết này là một phần của loạt bài "Tích hợp Python với Excel", bạn có thể tìm mục lục tại đây để điều hướng dễ dàng hơn

phương thức chèn []

Cách nhanh nhất là sử dụng. phương thức insert[] được cung cấp bởi pandas. Phương thức nhận các đối số sau

  • loc – số chỉ mục để chèn
  • column– tên cột
  • value– dữ liệu được chèn vào

Hãy sử dụng ví dụ từ trước để chứng minh điều này. Mục tiêu của chúng tôi là chèn một cột mới có giá trị 100 sau cột đầu tiên. Lưu ý rằng phương thức insert[] sẽ ghi đè lên phương thức gốc của

>>> df['sqbracket method'] = df['new col'] * 2
>>> df

   col 1  new col  col 2  col 3    sqbracket method
0      1      100      6     11                 200
1      2      100      7     12                 200
2      3      100      8     13                 200
3      4      100      9     14                 200
4      5      100     10     15                 200
0

import pandas as pd
df = pd.DataFrame[{'col 1':[1,2,3,4,5], 
                   'col 2':[6,7,8,9,10],
                   'col 3':[11,12,13,14,15],
                 }]

>>> df
   col 1  col 2  col 3
0      1      6     11
1      2      7     12
2      3      8     13
3      4      9     14
4      5     10     15

>>> df.insert[1, 'new col', [100,100,100,100,100]]

>>> df
   col 1  new col  col 2  col 3
0      1      100      6     11
1      2      100      7     12
2      3      100      8     13
3      4      100      9     14
4      5      100     10     15

Phương pháp dấu ngoặc vuông

Ok, tôi đã tạo ra tên này. Tôi không biết nó được gọi là gì, nhưng chúng tôi sử dụng dấu ngoặc vuông ở đây nên tôi gọi nó là phương pháp dấu ngoặc vuông. Đây là phương pháp yêu thích của tôi để thêm các cột mới vào khung dữ liệu do tính đơn giản của nó

Hãy nhớ từ bài đăng khác về cách chúng tôi có thể tham chiếu một cột trong khung dữ liệu? . Tiếp tục với ví dụ trước

>>> df['sqbracket method'] = df['new col'] * 2
>>> df

   col 1  new col  col 2  col 3    sqbracket method
0      1      100      6     11                 200
1      2      100      7     12                 200
2      3      100      8     13                 200
3      4      100      9     14                 200
4      5      100     10     15                 200

Xem việc tạo một cột được tính toán dễ dàng như thế nào? . Tuy nhiên với cách này bạn không được chọn vị trí thêm cột mới. Nó sẽ luôn được thêm vào cuối khung dữ liệu

phương thức gán[]

Hãy thêm một cột mới bằng df. chỉ định phương pháp. Đối số đầu tiên chúng ta đưa vào hàm sẽ là tên của cột mới. Chúng ta có thể gán một số dữ liệu [e. g. một danh sách] vào cột mới hoặc chúng ta có thể thêm một cột được tính toán mới như được hiển thị bên dưới

>>> df.assign[col_1_x_2=df['col 1']*2]

   col 1  col 2  col 3  col_1_x_2
0      1      6     11          2
1      2      7     12          4
2      3      8     13          6
3      4      9     14          8
4      5     10     15         10

Lưu ý rằng. phương thức gán [] chỉ trả về khung dữ liệu mới, nhưng nó không ghi đè lên khung dữ liệu gốc

Từ điển &. phương thức map[]

Hãy tưởng tượng chúng ta có một từ điển với các khóa là dữ liệu đã có trong khung dữ liệu, sau đó chúng ta có thể đưa các giá trị từ điển vào khung dữ liệu khá dễ dàng. Lưu ý rằng. map[] là một phương thức pandas Series [i. e. chỉ hoạt động trên Sê-ri], không phải hàm map[] tích hợp sẵn của Python

Hướng dẫn này sẽ chỉ cho bạn cách sử dụng thư viện Python openpyxl để chèn hàng, cột và hợp nhất các ô trong sổ làm việc Excel. Định dạng tệp Excel có thể là một công việc tẻ nhạt và tốn thời gian, do đó, đây là một công việc tốt để tự động hóa

Thư viện

Chúng tôi sẽ sử dụng thư viện openpyxl để tạo một bảng tính Excel lập ngân sách đơn giản. Để cài đặt thư viện, hãy nhập nội dung sau vào cửa sổ nhắc lệnh

pip install openpyxl

Dữ liệu mô phỏng

Đoạn mã dưới đây tạo một tệp Excel có tên là “định dạng. xlsx” với một số dữ liệu bên trong. Sao chép và chạy đoạn mã sau nếu bạn muốn làm theo

from openpyxl import Workbook

wb = Workbook[]
ws = wb.active
ws.title = 'formatting'

income = [['Income', ''],
          ['Salary', 1000],
          ['Investment', 500],
          ['Side hustle', 500],
          ['Total', 2000]]

expense = [['Expense',''],
           ['Housing', 1200],
           ['Insurance', 200],
           ['Grocery', 500],
           ['Entertainment', 500],
           ['Total', 2400]]

for row in income+expense:
    ws.append[row]

wb.save['formatting.xslx']

Bạn sẽ nhận được một tệp Excel chưa định dạng trông như thế này

openpyxl tạo tệp Excel

Chèn hàng và cột trong Excel bằng Python openpyxl

Hãy bắt đầu định dạng bằng cách di chuyển các ô [có dữ liệu] xung quanh để làm cho sổ làm việc trông đẹp hơn một chút. Thêm đoạn mã sau vào sau khối vòng lặp for, nhưng trước khi lưu tệp

ws.insert_rows[1,6]  
ws.insert_cols[1]
ws.move_range["B12:C17", rows = 2, cols = 0]

##Add more stuff
ws['B2'] = 'Monthly Budget'
ws['E7'] = 'Income'
ws['F7'] = '=sum[C8:C10]'
ws['E9'] = 'Expense'
ws['F9'] = '=sum[C15:C18]'
ws['E11'] = 'Net'
ws['F11'] = '=F7-F9'
ws['E13'] = 'Exp/Income Ratio'
ws['F13'] = '=F9/F7'

Khối mã trên đã làm như sau

  1. Dòng đầu tiên – Chèn 6 hàng, từ hàng 1-6
  2. Dòng thứ 2 – Chèn 1 cột tại cột A [1]
  3. Và dòng thứ 3 – Đã di chuyển phần Chi phí [với 2 bước trước, phần này hiện ở B12. C17] xuống 2 hàng
  4. Phần còn lại của mã – đã thêm một loạt thứ khác trong B2 và các ô xung quanh E7. F13

chèn hàng và cột bằng python openpyxl

Hợp nhất các ô bằng openpyxl

Tiếp tục với phần trên, thêm phần sau ngay sau khối mã trước đó. Đoạn mã dưới đây hợp nhất một số ô lại với nhau. Lưu ý hai cách hợp nhất các ô bằng cách sử dụng ws. phương thức merge_cell[]

Chủ Đề