要写一个函数用来打开csv文件像是 di_fun("balabala.csv")
这个csv文件中有4列分别是 名字, 电话, 颜色以及邮箱.
我希望我的输出是一个list但是不包含颜色那一列并且去除每列之间的空格。
例子:
di_fun("balabala.csv")
[('Name1', '139-balabala', 'balabala@qq.com'),
('Name2', '150-balabala', 'balabala@yahoo.com')]
(不能使用import)
下有代码,可直接复制使用。如有帮助,敬请采纳,你的采纳是我前进的动力,O(∩_∩)O谢谢!!!!!!!!
特别要求:不能使用import
代码如下:
csv_lines = open('bala.csv', 'r', encoding='utf-8').readlines()
for line in csv_lines:
line = line.strip()
if True in list(map(lambda x: x in line.split(','), ['name', 'phone', 'color', 'email'])) or line == '':
continue
csv_list = line.split(',')
out_csv = [csv_list[0], csv_list[1], csv_list[3]]
print(out_csv)
结果截图
def di_re(fp):
cont=[]
with open(fp,'r',encoding='utf-8') as f:
for a in f.readlines()[1:]:
a=a.strip().split(',')
cont.append((a[0],a[1],a[3]))
return cont
F:\2022\py01>t19
[('name1', 'phone1', 'email1'), ('name2', 'phone2', 'email2')]
def di_fun(fn):
res=[]
with open(fn,'r',encoding='utf-8') as f:
for line in f.readlines()[1:]:
li = line.split(',')
t = tuple(v.strip() for i,v in enumerate(li) if i!=2)
res.append(t)
return res
li = di_fun("balabala.csv")
print(li)
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
最好给出具体文件数据吧,不然不好测试
可以看看我发的pm2.5的预测视频看看,里面也有类似代码的讲解,去掉多余列