版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013700358/article/details/88574757
本文介绍使用python3.6
保存各种格式的文件
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'
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)
xls
excel格式跟csv是相似的,第一种是通过xlwt
、openpyxl
这个库,没安装的需要先
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)
后续将继续更新补充,若有错误、不足或建议望提出,谢谢