在Python中删除空格

问题描述 投票:0回答:1

我是Python的新手,所以我试图使之尽可能简单。我正在使用CSV文件,其中包含我必须Mapreduce的数据。在我的映射器部分中,我得到了空白数据,这使我的数据无法还原。这是由于CSV文件中包含黑色。我需要有关如何在Mapper中去除黑色的建议,这样它就不会进入我的Reducer中。

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
python csv mapreduce blank-line
1个回答
0
投票

您可以使用内置的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:
    line = [x for x in line.split(",") if x.strip()]
    vehiclecolor = line[33]

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

     except ValueError:
        continue

它的作用是从line.split(',')创建线元素数组,并在去除空格后仅采用长度大于0个字符if x.strip()的元素。

在Python中,空字符串的表达式被识别为“ false”。

注意:您能否详细说明以下内容?

vehiclecolor = line[33]
© www.soinside.com 2019 - 2024. All rights reserved.