美文网首页
Python 将数据写入文件(txt、csv、excel)

Python 将数据写入文件(txt、csv、excel)

作者: 香山上的麻雀 | 来源:发表于2020-02-19 14:16 被阅读0次

    一、将列表数据写入txt、csv、excel

    1、写入txt

    def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表.
        file = open(filename,'a')
        for i in range(len(data)):
            s = str(data[i]).replace('[','').replace(']','')#去除[],这两行按数据不同,可以选择
            s = s.replace("'",'').replace(',','') +'\n'   #去除单引号,逗号,每行末尾追加换行符
            file.write(s)
        file.close()
        print("保存文件成功")
    

    2、写入csv

    def data_write_csv(file_name, datas):#file_name为写入CSV文件的路径,datas为要写入数据列表
        file_csv = codecs.open(file_name,'w+','utf-8')#追加
        writer = csv.writer(file_csv, delimiter=' ', quotechar=' ', quoting=csv.QUOTE_MINIMAL)
        for data in datas:
            writer.writerow(data)
        print("保存文件成功,处理结束")
    

    3、写入excel

    #  将数据写入新文件
    def data_write(file_path, datas):
        f = xlwt.Workbook()
        sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet
    
        #将数据写入第 i 行,第 j 列
        i = 0
        for data in datas:
            for j in range(len(data)):
                sheet1.write(i,j,data[j])
            i = i + 1        
        f.save(file_path) #保存文件
    

    二、将字典写入文件

    1、写入txt

    d = {'a':'aaa','b':'bbb'}
    s = str(d)
    f = open('dict.txt','w')
    f.writelines(s)
    f.close()
    

    2、写入excel

       data_list = []
            # 循环得到每一个data
            for data in html1:
                # 循环得到data字典里的所有键值对的值
                for value in data.values():
                    # 将得到的值放入空列表中
                    data_list.append(value)
            # 创建一个新的列表生成式并赋给一个变量new_list.
            # 这个列表生成式主要是将数据每8个为一个新的元素存入新的列表中,即列表套列表
            new_list = [data_list[i:i + 8] for i in range(0, len(data_list), 8)]
            # 生成一个xlwt.Workbook对象
            xls = xlwt.Workbook()
            # 调用对象的add_sheet方法
            sheet = xls.add_sheet('sheet1', cell_overwrite_ok=True)
            # 创建我们需要的第一行的标头数据
            heads = ['chatDomain', 'chatUrl', 'code', 'pid', 'rank3', 'seller', 'shopId','venderId']
            ls = 0
            # 将标头循环写入表中
            for head in heads:
                sheet.write(0, ls, head)
                ls += 1
            i = 1
            # 将数据分两次循环写入表中 外围循环行
            for list in new_list:
                j = 0
                # 内围循环列
                for data in list:
                    sheet.write(i, j, data)
                    j += 1
                i += 1
            # 最后将文件save保存
            xls.save('案例.xls')
    

    3、写入csv

    import csv
    mydict = {key1: value_a, key2: value_b, key3: value_c}
    f = open('dict.csv','wb') 
    w = csv.DictWriter(f,mydict.keys()) 
    w.writerow(mydict) 
    f.close()
    

    相关文章

      网友评论

          本文标题:Python 将数据写入文件(txt、csv、excel)

          本文链接:https://www.haomeiwen.com/subject/xkdafhtx.html