要写一个函数用来打开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)
结果截图
不使用import真的为难
import csv
def buildCSVList(path):
with open(path,'r') as myFile:
lines=csv.reader(myFile)
for line in lines:
strline = str(line).lstrip('[\'').rstrip('\']')
linearr = strline.split('\\t')
person_info = {'电话': linearr[1], '邮箱': linearr[3]}
person_list = { linearr[0] : person_info}
print(person_list)
buildCSVList('d:\\python\\test.csv')
def di_fun(fileName="bala.csv", sep=',', toRemoveIndex="color", encoding="utf_8_sig"):
data = []
with open(fileName, 'r', encoding=encoding) as f:
time = 0
idx = -1
for line in f.readlines():
line = line.strip()
if time == 0:
time += 1
columns = line.split(sep)
idx = columns.index(toRemoveIndex)
data.append(columns)
else:
values = line.split(sep)
del values[idx]
data.append(values)
print(data)
if __name__ == '__main__':
di_fun()
这种估计是学校作业吧?不然不会限制不能导包,题主都连续发了好几次同一个问答求助了
_list = []
with open(r'C:\Users\123\Desktop\balabala.csv', 'r') as csv_file:
#使用.readlines()获取每一行
index = None
for i in csv_file.readlines():
#由于返回行是一整个以空格分割列的字符串,使用.split()将每列数据拆分出来
i_split = i.split()
#获取'颜色'列的下标
if index == None:
index = i_split.index('颜色')
#以下标删除元素
del i_split[index]
_list.append(i_split)
print(_list)