Tôi muốn tìm kiếm một tệp CSV và in True
hoặc False
, tùy thuộc vào việc tôi có tìm thấy chuỗi hay không. Tuy nhiên, tôi đang gặp phải vấn đề theo đó nó sẽ trả về một dương tính giả nếu nó tìm thấy chuỗi được nhúng trong một chuỗi văn bản lớn hơn. Ví dụ: nó sẽ trả về True
nếu chuỗi là
import re
import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f]
for row in reader:
re.search[r'\bNOTSUREHERE\b', username]
0 và thuật ngữ import re
import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f]
for row in reader:
re.search[r'\bNOTSUREHERE\b', username]
1 nằm trong tệp CSV. Tôi cần có khả năng trả về các trận đấu chính xác.username = input[]
if username in open['Users.csv'].read[]:
print["True"]
else:
print["False"]
Tôi đã xem xét bằng cách sử dụng các chức năng mô -đun
import re
import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f]
for row in reader:
re.search[r'\bNOTSUREHERE\b', username]
2, import re
import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f]
for row in reader:
re.search[r'\bNOTSUREHERE\b', username]
3 và import re
import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f]
for row in reader:
re.search[r'\bNOTSUREHERE\b', username]
4, nhưng tôi không có bất cứ nơi nào với chúng.Chỉnh sửa: Đây là một phương pháp thay thế:
import re
import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f]
for row in reader:
re.search[r'\bNOTSUREHERE\b', username]
Merose
3.6817 Huy hiệu vàng49 Huy hiệu bạc74 Huy hiệu đồng7 gold badges49 silver badges74 bronze badges
Đã hỏi ngày 25 tháng 6 năm 2013 lúc 22:51Jun 25, 2013 at 22:51
Khi bạn nhìn vào bên trong một tệp CSV bằng mô -đun
import re
import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f]
for row in reader:
re.search[r'\bNOTSUREHERE\b', username]
4, nó sẽ trả về từng hàng dưới dạng danh sách các cột. Vì vậy, nếu bạn muốn tra cứu chuỗi của mình, bạn nên sửa đổi mã của mình như vậy:import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f, delimiter=','] # good point by @paco
for row in reader:
for field in row:
if field == username:
print "is in file"
Nhưng vì đây là tệp CSV, bạn có thể mong đợi tên người dùng sẽ ở một cột nhất định:
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f, delimiter=',']
for row in reader:
if username == row[2]: # if the username shall be on column 3 [-> index 2]
print "is in file"
Đã trả lời ngày 25 tháng 6 năm 2013 lúc 23:03Jun 25, 2013 at 23:03
Zmozmozmo
Huy hiệu vàng 24K453 Huy hiệu bạc86 Huy hiệu đồng4 gold badges53 silver badges86 bronze badges
0
Bạn nên có một cái nhìn về mô -đun CSV trong Python.
is_in_file = False
with open['my_file.csv', 'rb'] as csvfile:
my_content = csv.reader[csvfile, delimiter=',']
for row in my_content:
if username in row:
is_in_file = True
print is_in_file
Nó giả định rằng dấu phân cách của bạn là dấu phẩy [thay thế bằng dấu phân cách của bạn. Lưu ý rằng tên người dùng phải được xác định trước đó. Ngoài ra cũng thay đổi tên của tệp. Mã vòng lặp qua tất cả các dòng trong tệp CSV. Phần tử của hàng của bạn. Ví dụ: nếu bạn có cái này trong tệp CSV của mình:
import re
import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f]
for row in reader:
re.search[r'\bNOTSUREHERE\b', username]
6 Hàng sẽ là import re
import csv
username = input[]
with open['Users.csv', 'rt'] as f:
reader = csv.reader[f]
for row in reader:
re.search[r'\bNOTSUREHERE\b', username]
7. Sau đó, bạn có thể kiểm tra xem tên người dùng của bạn có nằm trong danh sách đó không.
Đã trả lời ngày 25 tháng 6 năm 2013 lúc 23:01Jun 25, 2013 at 23:01
PacopacoPaco
4.3922 Huy hiệu vàng28 Huy hiệu bạc52 Huy hiệu đồng2 gold badges28 silver badges52 bronze badges
0
import csv
scoresList=[]
with open ["playerScores_v2.txt"] as csvfile:
scores=csv.reader[csvfile, delimiter= ","]
for row in scores:
scoresList.append[row]
playername=input["Enter the player name you would like the score for:"]
print["{0:40} {1:10} {2:10}".format["Name","Level","Score"]]
for i in range[0,len[scoresList]]:
print["{0:40} {1:10} {2:10}".format[scoresList[i] [0],scoresList[i] [1], scoresList[i] [2]]]
Astopher
3.96511 Huy hiệu vàng51 Huy hiệu bạc72 Huy hiệu đồng11 gold badges51 silver badges72 bronze badges
Đã trả lời ngày 3 tháng 12 năm 2015 lúc 12:07Dec 3, 2015 at 12:07
#!/usr/bin/python
import csv
with open['my.csv', 'r'] as f:
lines = f.readlines[]
cnt = 0
for entry in lines:
if 'foo' in entry:
cnt += 1
print"No of foo entry Count :".ljust[20, '.'], cnt
Đã trả lời ngày 11 tháng 7 năm 2018 lúc 19:48Jul 11, 2018 at 19:48
AkdakdakD
1.0271 Huy hiệu vàng10 Huy hiệu bạc15 Huy hiệu đồng1 gold badge10 silver badges15 bronze badges
1