特定の列のすべてのセルの長さを判断し、40 文字を超えるすべてのセルを返そうとしています。次に、どれが制限を超えているかを知るか、セルを編集して 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