如何确定列中csv字段的长度并返回一定长度的值

2024-03-28 09:50:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图确定特定列中所有单元格的长度,并返回超过40个字符的所有单元格。然后我希望otion只知道哪些超出了限制,或者能够编辑单元格,使其少于40个字符,并将它们插入到原来的位置。你知道吗

这是我拥有的文件的一个示例:

Name,Geo Location,Default
DRE EXT Pair Video,,
DRE United Kingdom EXT LON Extrane lo.EXT RD01,United Kingdom,
DRE United Kingdom EXT LON Extrane lo.EXT RD02,United Kingdom,
DRE United Kingdom LON lab dyna test,United Kingdom,
DRE United StatesCPT Corp Point Link_Pair Video,United States,
DRE United Kingdom SDD SASD-D TRAIL01 to RD01,United Kingdom,
DRE United Kingdom SDD SASD-D TRAIL01 to RD02,United Kingdom,
DRE United Kingdom SDD SASD-D TRAIL02 to RD01,United Kingdom,
DRE United Kingdom SDD SASD-D TRAIL02 to RD02,United Kingdom,
DRE United Kingdom SDD SASD-D TRAIL01 to TRAIL02,United Kingdom,
DRE United Kingdom SDD SASD-D RD01 to RD02,United Kingdom,
DRE United States MDR SASD-D XC Xplay to,United States,
DRE Hong Kong (China) Hongkong HKOuter RD01 HKInter,"Hong Kong, Hong Kong",
DRE United Kingdom LON Sq lab dynam test,United Kingdom,
DRE United States USTHA SPS Thalberg usthamd mdf01,United States,
DRE Hong Kong (China)DRE SASD-D Citi EXT,Hong Kong,
SASD-D United States USPHXCAP VRF RD02,United States,

我想检查“名称”列中的所有字段,看看它们是否为40个字符或更长的字符,并且像我上面所说的那样,可以选择只查看它们或编辑它们并将它们插入到文件中。你知道吗

我很难把心思集中在如何做到这一点上。如果我能得到至少40个字符或更多的字段来打印,那将是一个很好的起点。你知道吗

下面的代码是我必须要开始的:

import csv
import collections

lthlst=[]

with open('file1.csv','rb') as f:
    r = csv.reader(f)
    od = collections.OrderedDict(r)

    for line1 in od:
        lng=len(line1[1])
        lthlst.append(lng)
        for i in lthlst:
            if i >= 40:

print lthlst

我从这个ValueError: too many values to unpack得到一个错误。你知道吗

感谢您的帮助。你知道吗

谢谢你

B0T型


Tags: toextunitedkingdomhonglonstates个字符
1条回答
网友
1楼 · 发布于 2024-03-28 09:50:46

OrderedDict构造函数,它接受一个键/值列表。这不是r中的内容-r是一个由三元组组成的列表,这是因为行上有逗号-因此是例外。你知道吗

先正常化:

r = csv.reader(f)
list_of_pairs = [ (i[0], i[1]) for i in r ]  # ensure only pairs ..
od = collections.OrderedDict(list_of_pairs)  # .. to not break this

现在,你可以回到真正的问题上来了!记住,把注意力集中在特定的问题上-我在上面已经指出了-因为这个主要的帖子/问题对于一个任务来说太笼统了,与这个编码错误没有任何关系。你知道吗

相关问题 更多 >