从 CSV文件中删除空白

我需要从我读取的 CSV 文件中剥离空白

我需要从我读取的 CSV 文件中剥离空白

import csv
aList=[]
with open(self.filename, 'r') as f:
    reader = csv.reader(f, delimiter=',', quoting=csv.QUOTE_NONE)
    for row in reader:
        aList.append(row)
    # I need to strip the extra white space from each string in the row
    return(aList)
44

还有嵌入的格式化参数:skipinitialspace(默认为 false)http://docs.python.org/2/library/csv.html#csv-fmt-params

aList=[]
with open(self.filename, 'r') as f:
    reader = csv.reader(f, skipinitialspace=False,delimiter=',', quoting=csv.QUOTE_NONE)
    for row in reader:
        aList.append(row)
    return(aList)
14

就我而言,当使用csv.DictReader时,我只关心从字段名称(又名列标题,又名字典键)中剥离空白。

基于csv.DictReader创建一个类,并重写fieldnames属性以从每个字段名称(又名列标题,又名字典键)中去除空格。

要做到这一点,请获取常规的字段名称列表,然后在创建一个新列表时对其进行迭代,并从每个字段名称中删除空白,然后将底层_fieldnames属性设置为该新列表。

import csv
class DictReaderStrip(csv.DictReader):
    @property                                    
    def fieldnames(self):
        if self._fieldnames is None:
            # Initialize self._fieldnames
            # Note: DictReader is an old-style class, so can't use super()
            csv.DictReader.fieldnames.fget(self)
            if self._fieldnames is not None:
                self._fieldnames = [name.strip() for name in self._fieldnames]
        return self._fieldnames
12
with open(self.filename, 'r') as f:
    reader = csv.reader(f, delimiter=',', quoting=csv.QUOTE_NONE)
    return [[x.strip() for x in row] for row in reader]
4

您可以执行以下操作:

aList.append([element.strip() for element in row])

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(313)
如何使 Esp32-Cam在识别面部时闪烁
上一篇
Discord.jsDiscordAPIError:此操作需要两个因素
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(43条)