Hướng dẫn python delete first row from excel - python xóa hàng đầu tiên khỏi excel

Tôi có một tệp excel, tôi đang cố đọc hàng đầu tiên chuyển nó sang chức năng khác và xóa hàng đầu tiên khỏi excel và lưu nó, cho đến khi tất cả các hàng trong tệp excel được sử dụng hết.

Tôi đã thử sử dụng openpyxl, tôi đã có thể xóa hàng đầu tiên trong lần thử đầu tiên nhưng khi tôi thử đọc lại tệp excel, nó sẽ cho tôi ngoại lệ này

openpyxl.utils.exceptions.CellCoordinatesException: There is no row 0 (A0)

Đây là mã của tôi

import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)

Hướng dẫn python delete first row from excel - python xóa hàng đầu tiên khỏi excel

Petezurich

8.4758 Huy hiệu vàng38 Huy hiệu bạc55 Huy hiệu Đồng8 gold badges38 silver badges55 bronze badges

Hỏi ngày 14 tháng 4 năm 2019 lúc 14:46Apr 14, 2019 at 14:46

2

Chưa được kiểm tra nhưng điều chỉnh sau đây nên sửa nó. Thay vì đọc

import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
2 và xóa hàng
import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
3, bạn tìm hàng không trống đầu tiên bằng
import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
4 và đọc và xóa nó.
but the following tweak should fix it. Instead of reading
import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
2 and removing row
import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
3 you look for the first non empty row using
import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
4 and read and remove that.

import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet.cell(sheet.min_row, 1).value
print(status)
sheet.delete_rows(sheet.min_row, 1)
wb.save(filename)

Đã trả lời ngày 14 tháng 4 năm 2019 lúc 15:12Apr 14, 2019 at 15:12

CapslockcapslockCAPSLOCK

5.0373 Huy hiệu vàng29 Huy hiệu bạc52 Huy hiệu Đồng3 gold badges29 silver badges52 bronze badges

4

Khi các hàng bị xóa với

import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
5, chỉ mục của chúng cũng bị xóa, điều đó có nghĩa là không tồn tại hàng với chỉ mục
import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
3 nữa.

Hướng dẫn python delete first row from excel - python xóa hàng đầu tiên khỏi excel

Mike

6666 Huy hiệu bạc15 Huy hiệu Đồng6 silver badges15 bronze badges

Đã trả lời ngày 14 tháng 4 năm 2019 lúc 14:55Apr 14, 2019 at 14:55

Hướng dẫn python delete first row from excel - python xóa hàng đầu tiên khỏi excel

Ahmed Ragabahmed RagabAhmed Ragab

8165 Huy hiệu bạc10 Huy hiệu đồng5 silver badges10 bronze badges

Hướng dẫn python delete first row from excel - python xóa hàng đầu tiên khỏi excel

Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để xóa hàng đầu tiên của Pandas DataFrame trong Python.

Mục lục

  • Sử dụng ILOC để thả hàng đầu tiên của Pandas DataFrame.
  • Sử dụng Drop () để loại bỏ hàng đầu tiên của Pandas DataFrame.
  • Sử dụng hàm đuôi () để loại bỏ hàng đầu tiên của pandas dataFrame.

Trong Pandas, DataFrame cung cấp một ILOC thuộc tính, để chọn một phần của DataFrame bằng cách sử dụng lập chỉ mục dựa trên vị trí. Phần được chọn này có thể là một vài cột hoặc hàng. Chúng ta có thể sử dụng thuộc tính này để chọn tất cả các hàng ngoại trừ hàng đầu tiên và sau đó gán lại các hàng đã chọn cho biến ban đầu. Nó sẽ cho một hiệu ứng mà chúng tôi đã xóa hàng đầu tiên khỏi DataFrame. Ví dụ,iloc, to select a portion of the dataframe using position based indexing. This selected portion can be few columns or rows . We can use this attribute to select all the rows except the first one and then assign back the selected rows to the original variable. It will give an effect that we have deleted the first row from the dataframe. For example,

# Drop first row 
# by selecting all rows from first row onwards
df = df.iloc[1: , :]

Chúng tôi đã chọn một phần của DataFrame, bao gồm tất cả các cột, nhưng nó chỉ chọn các hàng N-1, tức là từ hàng đầu tiên trở đi. Sau đó gán điều này trở lại cùng một biến. Vì vậy, về cơ bản, nó đã loại bỏ hàng đầu tiên của DataFrame.

Nó hoạt động như thế nào?

Quảng cáo

Cú pháp của dataFrame.iloc [] giống như,

df.iloc[row_start:row_end , col_start, col_end]

Arguments:

  • ROW_START: Chỉ số hàng/vị trí từ nơi nó sẽ bắt đầu lựa chọn. Mặc định là 0. The row index/position from where it should start selection. Default is 0.
  • ROW_END: ​​Chỉ số hàng/vị trí từ nơi nó sẽ kết thúc lựa chọn, tức là chọn cho đến Row_end-1. Mặc định là cho đến hàng cuối cùng của DataFrame. The row index/position from where it should end the selection i.e. select till row_end-1. Default is till the last row of the dataframe.
  • col_start: Chỉ số/vị trí cột từ nơi nó sẽ bắt đầu lựa chọn. Mặc định là 0. The column index/position from where it should start selection. Default is 0.
  • col_end: Chỉ số/vị trí cột từ nơi nó sẽ kết thúc lựa chọn, tức là chọn đến cuối-1. Mặc định là cho đến cột cuối cùng của DataFrame. The column index/position from where it should end the selection i.e. select till end-1. Default is till the last column of the dataframe.

Nó trả về một phần của DataFrame bao gồm các hàng từ ROW_START đến ROW_END-1 và các cột từ col_start đến col_end-1.row_start to row_end-1 and columns from col_start to col_end-1.

Để xóa hàng đầu tiên khỏi DataFrame, chỉ cần chọn các hàng từ hàng số 2 đến cuối và chọn tất cả các cột. Khi lập chỉ mục bắt đầu từ 0, vì vậy để chọn tất cả các hàng sau khi sử dụng đầu tiên -> (1 :) tức là từ hàng thứ 2 đến cuối. Để chọn tất cả các cột, sử dụng các giá trị mặc định, tức là (:) tức là.

df = df.iloc[1: , :]

Kiểm tra hoàn thành ví dụ để xóa hàng đầu tiên của DataFrame,

import pandas as pd

# List of Tuples
empoyees = [('Jack',    34, 'Sydney',   5) ,
            ('Riti',    31, 'Delhi' ,   7) ,
            ('Aadi',    16, 'London',   11) ,
            ('Mark',    41, 'Delhi' ,   12)]

# Create a DataFrame object
df = pd.DataFrame(  empoyees, 
                    columns=['Name', 'Age', 'City', 'Experience'])

print("Contents of the Dataframe : ")
print(df)

# Drop first row 
# by selecting all rows from first row onwards
df = df.iloc[1: , :]

print("Modified Dataframe : ")
print(df)

Output:

Contents of the Dataframe : 
   Name  Age    City  Experience
0  Jack   34  Sydney           5
1  Riti   31   Delhi           7
2  Aadi   16  London          11
3  Mark   41   Delhi          12
Modified Dataframe :
   Name  Age    City  Experience
1  Riti   31   Delhi           7
2  Aadi   16  London          11
3  Mark   41   Delhi          12

Sử dụng Drop () để xóa hàng đầu tiên của Pandas DataFrame

Trong Pandas, hàm DataFrame Drop () Drop () chấp nhận một chuỗi các tên hàng mà nó cần để xóa khỏi DataFrame. Để đảm bảo rằng nó chỉ loại bỏ các hàng, hãy sử dụng Authet Axis = 0 và để thực hiện các thay đổi tại chỗ, trong cuộc gọi đối tượng DataFrame, hãy truyền đối số tại chỗ = true.drop() function accepts a sequence of row names that it needs to delete from the dataframe. To make sure that it removes the rows only, use argument axis=0 and to make changes in place i.e. in calling dataframe object, pass argument inplace=True.

Kiểm tra hoàn thành ví dụ để xóa hàng đầu tiên của DataFrame như sau,

import pandas as pd

# List of Tuples
empoyees = [('Jack',    34, 'Sydney',   5) ,
            ('Riti',    31, 'Delhi' ,   7) ,
            ('Aadi',    16, 'London',   11) ,
            ('Mark',    41, 'Delhi' ,   12)]


# Create a DataFrame object
df = pd.DataFrame(  empoyees, 
                    columns=['Name', 'Age', 'City', 'Experience'])

print("Contents of the Dataframe : ")
print(df)

# Drop first row
df.drop(index=df.index[0], 
        axis=0, 
        inplace=True)

print("Modified Dataframe : ")
print(df)

Output:

Contents of the Dataframe :
   Name  Age    City  Experience
0  Jack   34  Sydney           5
1  Riti   31   Delhi           7
2  Aadi   16  London          11
3  Mark   41   Delhi          12
Modified Dataframe :
   Name  Age    City  Experience
1  Riti   31   Delhi           7
2  Aadi   16  London          11
3  Mark   41   Delhi          12

Chúng tôi đã tìm nạp tất cả các tên của Chỉ mục DataFrame dưới dạng chuỗi và chuyển tên hàng/chỉ mục đầu tiên làm đối số chỉ mục trong hàm thả (), do đó nó đã xóa hàng đầu tiên của DataFrame.

Sử dụng hàm đuôi () để thả hàng đầu tiên của pandas dataframe

Trong Python, DataFrame cung cấp một đuôi chức năng (N), nó trả về n hàng cuối cùng của DataFrame. Vì vậy, để xóa hàng đầu tiên của DataFrame, chỉ cần chọn các hàng cuối cùng (N-1) của dataFrame bằng hàm đuôi (), trong đó n là tổng số hàng của DataFrame. Sau đó gán các hàng được chọn này trở lại cùng một biến. Nó sẽ cho một hiệu ứng mà chúng tôi đã xóa hàng đầu tiên của DataFrame. Ví dụ,

Kiểm tra hoàn thành ví dụ để xóa hàng đầu tiên của DataFrame như sau,

import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
0

Output:

import openpyxl

filename = "example.xlsx"
wb = openpyxl.load_workbook(filename)
sheet = wb['Sheet1']
status = sheet['A1'].value
print(status)
sheet.delete_rows(0, 1)
wb.save(filename)
1

Chúng tôi đã tìm nạp tổng số hàng trong DataFrame bằng DF.Shape [0] và sau đó được chuyển (df.Shape [0] -1) cho hàm đuôi () làm đối số. Do đó, nó đã chọn tất cả các hàng ngoại trừ hàng đầu tiên của DataFrame. Sau đó, chúng tôi đã chỉ định lại tất cả các hàng đã chọn của DF. Vì vậy, đây là cách nó xóa hàng đầu tiên của DataFrame tại chỗ.df.shape[0] and then passed (df.shape[0] -1) to the tail() function as argument. Therefore it selected the all rows except the first row of dataframe. Then we assigned back all the selected rows of df. So, this is how it deleted the first row of dataframe in place.

Summary:

Chúng tôi đã tìm hiểu về các cách khác nhau để xóa hàng đầu tiên của DataFrame.