Я ищу, чтобы извлечь строки CSV-файла, соответствующие условиям BOTH.Python && And Conditional Not Working
Например, я хочу извлечь строку с уникальным кодом и конкретной датой.
В настоящее время мой код только добывающие линии, которые отвечают одному из условий:
для строки в журнале:
with open("log.csv", 'a') as csvfile:
if ("code123" and "29/07/2016") in line:
print(line)
Я также попытался
with open("log.csv", 'a') as csvfile:
if ("code123") and ("29/07/2016 ") in line:
print(line)
Но, кажется, извлекать строки, соответствующие этой дате, но не также уникальный код.
Формат файла журнала немного как это:
code123, 1001, 29/07/2016 14:01, 100
Я пробовал код с и без пробела после дата:
if ("code123") and ("29/07/2016") in line:
и
if ("code123") and ("29/07/2016 ") in line:
Incase тот факт, что есть время, в той же клетке, т он является проблемой.
Но похоже, что они извлекают строки, которые соответствуют только дате (и распечатывают любой уникальный код, который имеет чтение с даты, а не указанный).
Может ли кто-нибудь помочь?
Причина, по которой я пытаюсь это сделать, заключается в том, что я могу разделить файл журнала на отдельные файлы на основе дат и уникальных идентификаторов. Поэтому я хочу, чтобы все показания с определенной даты, чтобы определенный ключ находился в одном файле.
Возможный дубликат [Как проверить одну переменную на несколько значений?] (Http://stackoverflow.com/questions/15112125/how-do-i-test-one-variable-against-multiple-values) –
Почему бы не просто «if (« code123 »в строке) и (29/07/2016 в строке):'? – galah92
во всех случаях, которые вы использовали, python проверяет 'if (« code123 ») == True', а не' if («code123») в строке'. Используйте 'if (« code123 »в строке) и (« 29/07/2016 »в строке):' – James