python小记——保存常用格式的文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013700358/article/details/88574757

本文介绍使用python3.6 保存各种格式的文件

  1. txt
with open('filename.txt', 'w') as fw:
	for i in range(len(dataArray)):
	    fw.write(str(dataArray[i]))
	    fw.write('\n')
	fw.close()

注意'w'的模式会清空源文件的内容,如果是从文件末尾附加新内容,则用'a'

  1. csv
import csv
datas = [
    ("Mike", "male", 24),
    ("Lee", "male", 26),
    ("Joy", "female", 22)
]

with open('filename.csv', 'w') as csvFile:
    csvWriter = csv.writer(csvFile)
    for datain datas:
        csvWriter.writerow(data)

如果是DataFrame的格式,直接用to_csv即可:

import csv
import pandas as pd
datas = [
    ("Mike", "male", 24),
    ("Lee", "male", 26),
    ("Joy", "female", 22)
]
datas = pd.DataFrame(datas)
# 表头
headers = ['name', 'gender', 'age']
datas.to_csv('filenames.csv',header=headers)
  1. xls
    excel格式跟csv是相似的,第一种是通过xlwtopenpyxl这个库,没安装的需要先
    pip3 install xlwt
    pip3 install openyxl
    然后同样是上面的数据,写入excel,这里我单独列了一个函数用于保存:
import xlwt
import openpyxl
'''
 data: 要保存的数据
 fields: 表头
 sheetname: 工作簿名称
 wbname: 文件名
'''
def savetoexcel(data, fields, sheetname, wbname):
    wb = openpyxl.load_workbook(filename=wbname)

    sheet = wb.active
    sheet.title = sheetname

    field = 1
    for field in range(1, len(fields) + 1):  # 写入表头
        _ = sheet.cell(row=1, column=field, value=str(fields[field - 1]))

    row1 = 1
    col1 = 0
    for row1 in range(2, len(data) + 2):  # 写入数据
        for col1 in range(1, len(data[row1 - 2]) + 1):
            _ = sheet.cell(row=row1, column=col1, value=str(data[row1 - 2][col1 - 1]))

    wb.save(filename=wbname)
    print(wbname + "保存成功")
    
if __name__ == '__main__':
	wb1 = openpyxl.Workbook()
	datas = [
	    ("Mike", "male", 24),
	    ("Lee", "male", 26),
	    ("Joy", "female", 22)
	]
	headers = ['name', 'gender', 'age']
	wb1.save('filename.xlsx')
	savetoexcel(datas, headers, '工作表1', 'filename.xlsx')

第二种同样是针对DataFrame格式,可通过to_excel进行保存

import pandas as pd
datas = [
    ("Mike", "male", 24),
    ("Lee", "male", 26),
    ("Joy", "female", 22)
]
datas = pd.DataFrame(datas)
headers = ['name', 'gender', 'age']
datas.to_excel('filename.xlsx',header=headers)

后续将继续更新补充,若有错误、不足或建议望提出,谢谢

猜你喜欢

转载自blog.csdn.net/u013700358/article/details/88574757