#python
#python
Вопрос:
Здесь новичок в Python. У меня есть файл Excel с 5000 строками и 1 столбцом. Я импортирую их в Python и затем буду использовать операторы if … else для проверки конкретных условий.
Итак, мои данные выглядят следующим образом: (в Excel)
Kansas
Colorado
Missouri
Iowa
New York
New Mexico
mycar
car
thisisacar
...
Вот код для ее импорта в Python и условный
инструкции.
import xlrd
wb = xlrd.open_workbook("file.xls")
wb.sheet_names()
sh = wb.sheet_by_index(0)
for item in sh.col(0):
value = unicode(item.value)
if value.startswith("car"):
print value
if len(value) == 3:
print value
Идея состоит в том, чтобы напечатать все с помощью «car», а затем распечатать
значение, когда оно имеет длину всего 3.
if len(value) == 3
Похоже, что это не работает. помогите!
Комментарии:
1. И так, что же в нем содержится?
Ответ №1:
len(value)
должно работать нормально — я предполагаю, что, вероятно, есть какой-то завершающий пробел или что-то подобное, поэтому попробуйте использовать len(value.strip())
и посмотрите, решит ли это вашу проблему 🙂
Ответ №2:
Ваш код не работает для mycar
и thisisacar
.
Может быть, вам стоит попробовать что-то вроде:
x = (value.strip() for value in sh.col(0) if 'car' in value)
for i in x:
print i
if len(i) == 3:
print i