我已經從 .csv 檔案中讀取了所有行,如下所示:-
from csv import reader, writer
# open file in read mode
with open('data.csv', 'r') as read_obj:
# pass the file object to reader() to get the reader object
csv_reader = reader(read_obj)
# Iterate over each row in the csv using reader object
for row in csv_reader:
現在,我試圖只比較 csv 檔案中每一行的最后一列。csv檔案中的資料是這樣的:-
Row 1: 0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1
Row 2: 0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0
Row 3: 0,1,0,1,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,0,0,0,1
Row 4: 0,1,0,1,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,0,0,0,1
Row 5: 0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0
我只需要比較每行的最后一列 1 和 0。在最后一列中,如果第一行是 1,第二行是 0,那么我們列印第一行。
對于前 1:
Row 1: 0,0,1,1
Row 2: 0,1,1,0
然后,我列印第 1 行
對于前 2:
Row 1: 0,0,1,1
Row 2: 0,1,1,1
Row 3: 0,1,1,0
然后,我列印第 2 行
感謝您對此問題的任何建議。謝謝!
uj5u.com熱心網友回復:
使用熊貓
import pandas as pd
path = (r"data.csv")
data = pd.read_csv(path)
last_column = data.iloc[: , -1]
uj5u.com熱心網友回復:
我希望這有幫助。它向您展示了如何:
- 讀取您的輸入行,從
'1'和轉換'0'為1和0,并存盤該行 - 查找最后一行和倒數第二行
- 比較這兩行的最后一列
import csv
all_rows = []
with open('data.csv', newline='') as in_f:
reader = csv.reader(in_f)
# Read all rows and convert columns from string to int
for row in reader:
all_rows.append([int(col) for col in row])
last_row = all_rows[-1]
previous_row = all_rows[-2]
if previous_row[-1] == 1 and last_row[-1] == 0:
with open('new.csv', 'w', newline='') as out_f:
writer = csv.writer(out_f)
writer.writerow(previous_row)
當我在Ex 1上運行它時:
0,0,1,1
0,1,1,0
我得到:
0,0,1,1
在Ex 2 上:
0,0,1,1
0,1,1,1
0,1,1,0
我得到
0,1,1,1
舉個例子:
0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1
0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0
0,1,0,1,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,0,0,0,1
0,1,0,1,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,0,0,0,1
0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0
我得到第 4 行:
0,1,0,1,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,0,0,0,1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/403378.html
標籤:
