Python编写一个程序,要求能够将元素为任意Python支持的类型的列表转储为CSV,并能够重新正确解析为列表

# #  读取列表中的元素
def  dot_ind(str1,char):
    ind_list = []
    i = 0
    while i <= len(str1):
        ind = str1.find(char,i)
        if ind == -1 :
            break
        else:
            i = ind+1
            ind_list.append(ind)
    return  ind_list
def write_csv(csv_name,list):
    list_new = []
    dot_dict = {}
    for j,ele in enumerate(list):


        if  isinstance('a',str):
             indlist = dot_ind(ele,',')
             #  python解析字符串
             if  len(indlist) > 0:
                 ele = ele.replace(',','|')
                 dot_dict[j] = indlist

        list_new.append(ele)
    content= ','.join(list_new)
    f =  open(csv_name,'w')
    f.write(content)
    return  dot_dict
def get_list():
    list_str = input('以空格分隔元素:')
    list =  list_str.split(' ')
    print('你输入的列表是')
    print(list)
    return  list
def sparse_csv(csv_name,dot_dict):
    f = open(csv_name,'r')
    content = f.read()
    con_list = content.strip('\n').split(',')
    if  len(dot_dict)>0:
        for j in dot_dict.keys():
            for v in dot_dict[j]:
                j_list = list(con_list[j])
                j_list[v] = ','
                con_list[j] = ''.join(j_list)


    print('你输出的列表是:')
    print(con_list)
    return  con_list

def  main():
    # list = [1, 2, 3, 4, 5, '12,3']
    csv_name = input('file_name:')
    list = get_list( )
    dot_dict = write_csv(csv_name,list)
    sparse_csv(csv_name,dot_dict)
if __name__=='__main__':
    main()


可以测试,例如输入:
file_name:dd.csv
以空格分隔元素:1,|} 2 3
输出为:
你输入的列表是
[‘1,|}’, ‘’, ‘2’, ‘3’]
你输出的列表是:
[‘1,|}’, ‘’, ‘2’, ‘3’]

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值