亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python line_num 打印行號只輸出最后的行號

Python line_num 打印行號只輸出最后的行號

阿晨1998 2022-12-20 15:29:13
我正在嘗試打印 .csv 文件的行號,但它只輸出所有行的最后一個行號,這是我的代碼:import csvopenfile = open('example_csv.csv')readcsv = csv.reader(openfile, delimiter = ',')list_csv_content = list(readcsv)for row in list_csv_content:    print(f'Row #{readcsv.line_num} {row}')輸出是這樣的:Row #7 ['4/5/2015 13:34', 'Apples', '73']Row #7 ['4/5/2015 3:41', 'Cherries', '85']Row #7 ['4/6/2015 12:46', 'Pears', '14']Row #7 ['4/8/2015 8:59', 'Oranges', '52']Row #7 ['4/10/2015 2:07', 'Apples', '152']Row #7 ['4/10/2015 18:10', 'Bananas', '23']Row #7 ['4/10/2015 2:40', 'Strawberries', '98']我究竟做錯了什么?
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

當您將其保存readcsv到列表中時,您正在讀取整個 csv,這就是 line_num 指向最后一行的原因。


您可以通過不將 csv 保存到列表中來解決它:


openfile = open('test.csv')

readcsv = csv.reader(openfile, delimiter = ',')


for line in readcsv:

    print(line, readcsv.line_num)

或者通過枚舉列表:


import csv

openfile = open('example_csv.csv')

readcsv = csv.reader(openfile, delimiter = ',')

list_csv_content = list(readcsv)


for i, row in enumerate(list_csv_content):

    print(f'Row #{i} {row}')


查看完整回答
反對 回復 2022-12-20
?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

該line_num屬性只是您的讀者閱讀的總行數。


但是,以下代碼應該可以在您enumerate獲取實際行的位置加上該行的從零開始的索引。


import csv

openfile = open('chart-images.csv')

readcsv = csv.reader(openfile, delimiter = ',')

list_csv_content = list(readcsv)


for line_num, row in enumerate(list_csv_content): 

    print(f'Row #{line_num} {row}')

切換為枚舉,如@vks所示


查看完整回答
反對 回復 2022-12-20
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號