前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 将数据写入文件(txt、csv、excel)

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

作者头像
菲宇
发布2019-07-31 15:00:21
40.8K0
发布2019-07-31 15:00:21
举报
文章被收录于专栏:菲宇菲宇

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

1、写入txt

代码语言:javascript
复制
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

代码语言:javascript
复制
import csv
import codecs

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

代码语言:javascript
复制
#  将数据写入新文件
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

代码语言:javascript
复制
d = {'a':'aaa','b':'bbb'}
s = str(d)
f = open('dict.txt','w')
f.writelines(s)
f.close()

3、写入excel

代码语言:javascript
复制
       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

代码语言:javascript
复制
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()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、将列表数据写入txt、csv、excel
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档