Удаление заготовок в Python - PullRequest
0 голосов
/ 22 марта 2020

Я новичок в Python, поэтому я пытаюсь сделать его максимально простым. Я работаю с CSV-файлом, который содержит данные, которые я должен Mapreduce. В моей части Mapper я получаю пустые данные, которые не позволяют мне уменьшить. Это связано с тем, что в файле CSV есть пробелы. Мне нужен совет о том, как удалить пробелы в моем Mapper, чтобы он не go в мой редуктор.

Example of my result.
BLUE 1
GY  1
WT  1
    1
WH  1
    1
BLACK   1
    1
GN  1
BLK 1
BLACK   1
RED 1

Мой код

#!/usr/bin/python

from operator import itemgetter
import sys

sys_stdin = open("Parking_Violations.csv", "r")

for line in sys_stdin:
    line = line.split(",")
    vehiclecolor = line[33]          #This is the column in CSV file where data i need is located.

    try:                                                     
        issuecolor = str(vehiclecolor)
        print("%s\t%s" % (issuecolor, 1))

     except ValueError:
        continue

1 Ответ

0 голосов
/ 22 марта 2020

Вы можете использовать встроенную string.strip функцию

#!/usr/bin/python

from operator import itemgetter
import sys
from typing import List, Any

sys_stdin = open("Parking_Violations.csv", "r")

for line in sys_stdin:
    vehiclecolor = line[33].strip()

    if vehiclecolor:
        issuecolor = str(vehiclecolor)
        print("%s\t%s" % (issuecolor, 1))

Что она делает, получает 33-ю строку и удаляет из нее все пробелы .strip(). Предполагается, что ваш файл содержит 33 строки, в противном случае он вызовет исключение.

Затем он проверяет, есть ли в цвете транспортного средства какие-либо символы с помощью if, и печатает его только при наличии значения.

В Python выражение пустой строки распознается как «ложное».

...