文件看起來是這樣的:如何找到文件中人數最多的,看到這行是
1, a b
2, c d
3, e f
我當前的代碼
b = open('file.txt', 'r')
c = b.readlines()
regels = len(c)
print(regels)
我行的數字,但仍需要最大號碼+在哪一行上。
文件看起來是這樣的:如何找到文件中人數最多的,看到這行是
1, a b
2, c d
3, e f
我當前的代碼
b = open('file.txt', 'r')
c = b.readlines()
regels = len(c)
print(regels)
我行的數字,但仍需要最大號碼+在哪一行上。
所以你只是想找到文件第一列中最大的數字?這將有助於在逗號
b = open('file.txt', 'r')
c = b.readlines()
regels = len(c)
print(regels)
max = 0
for line in b.readlines():
num = int(line.split(",")[0])
if (max < num):
max = num
print(max)
# Close file
b.close()
那麼它不會讀取數據作爲一個字符串?在這種情況下,一旦你通過第9行,'num = int(line [0])'不起作用? – roganjosh
您忘記關閉文件。 – reticentroot
感謝@reticentroot,我認爲for循環應該適用於文件中的所有行,但如果我錯了,請糾正。 – Alastair
一旦完成文件的讀取完成後,
max
功能。P.S:檢查最後三個報表打印
代碼:
num_list = []
with open('master.csv','r')as fh:
for line in fh.readlines():
num_list.append(int((line.split(','))[0]))
print num_list
print "Max number is -" ,max(num_list)
print "Line number is - ", (num_list.index(max(num_list)))+1
輸出:
C:\Users\dinesh_pundkar\Desktop>python c.py
[1, 2, 3]
Max number is - 3
Line number is - 3
C:\Users\dinesh_pundkar\Desktop>
它的工作原理和謝謝,但我仍然有一個問題。我怎樣才能獲得最大數量的線?你的代碼的第4行是如何工作的?因爲你只分解它,它是如何找到最大數量的? –
在第4行,我沒有得到最大數量。在第4行,正如我在回答中提到的,我只是在逗號的基礎上分割行,並將第一個元素附加到臨時列表。 –
一旦我完成了線條,然後我使用max函數從列表中獲取最大數量。 ---- max(num_list) –
迭代通過文件和跟蹤的您見過的最高號碼以及您找到的線路。當你看到一個更大的號碼時,只需用新號碼和新號碼替換它。
b = open('file.txt', 'r')
max = -1
lineNum = -1
line = b.readline()
index = 0
while(line):
index+=1
newNum = line[0]
if(newNum>max):
max = newNum
lineNum = index
line = b.readline()
print lineNum,max,index
max是你的最高數,LINENUM是它在哪裏,和索引是行的文件
這是無效的Python。你測試過了嗎? – roganjosh
我在while語句中忘記了readline。除此之外,它適用於Python2.7,如果您願意,可以很容易地轉換爲Python3。 – SilentLupin
在數我這是怎麼會去這樣做。
max_num = 0
with open('file.txt', 'r') as data: # use the with context so that the file closes gracefully
for line in data.readlines(): # read the lines as a generator to be nice to my memory
try:
val = int(line.split(",")[0])
except ValueError: # just incase the text file is not formatted like your example
val = 0
if val > max_num: # logic
max_num = val
print max_num #result
您需要遍歷文件中的每一行,解析每一行並找到最大的數字。
我不太瞭解數字是如何存儲在您的文件中的。假設在每行中,第一個字段是數字的,並且與其他人(非數字)分開','
。我假設所有的數字都是整數。
ln = 0
maxln = 0
maxn = 0
with open(filename, 'r') as f:
line = f.next()
if line:
ln = 1
maxln = 1
maxn = int(line.split(",")[0].strip())
else:
raise Exception('Empty content')
for line in f:
ln += 1
cur = int(line.split(",")[0].strip())
if cur > maxn:
maxn = cur
maxln = ln
LN用於記錄當前行號,MAXN用於記錄當前最大數目,並且maxln用於記錄當前最大數目的位置。
你需要做的一件事是獲取第一行來初始化這些變量。
的答案都不給你最大數量的線,所以我會發布一些簡單的代碼,後來改進
max_num = 0
line_count = 0
with open('file.txt', 'r') as infile:
for line in infile:
number = int(line.split(',')[0])
if number > max_num:
max_num = number
line_num = line_count
line_count += 1
print (max_num)
print (line_num)
所以第一列是行號,接下來的兩個是數字?你只想找到文件返回行號中最大的單個數字? – MooingRawr
@MooingRawr,這是正確的。找到最大的數字,並告訴它是在哪一行。 –