一屿储、將列表數(shù)據(jù)寫入txt贿讹、csv、excel
1够掠、寫入txt
def text_save(filename, data):#filename為寫入CSV文件的路徑民褂,data為要寫入數(shù)據(jù)列表.
file = open(filename,'a')
for i in range(len(data)):
s = str(data[i]).replace('[','').replace(']','')#去除[],這兩行按數(shù)據(jù)不同,可以選擇
s = s.replace("'",'').replace(',','') +'\n' #去除單引號疯潭,逗號赊堪,每行末尾追加換行符
file.write(s)
file.close()
print("保存文件成功")
2、寫入csv
def data_write_csv(file_name, datas):#file_name為寫入CSV文件的路徑竖哩,datas為要寫入數(shù)據(jù)列表
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("保存文件成功相叁,處理結(jié)束")
3增淹、寫入excel
# 將數(shù)據(jù)寫入新文件
def data_write(file_path, datas):
f = xlwt.Workbook()
sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #創(chuàng)建sheet
#將數(shù)據(jù)寫入第 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 = []
# 循環(huán)得到每一個data
for data in html1:
# 循環(huán)得到data字典里的所有鍵值對的值
for value in data.values():
# 將得到的值放入空列表中
data_list.append(value)
# 創(chuàng)建一個新的列表生成式并賦給一個變量new_list.
# 這個列表生成式主要是將數(shù)據(jù)每8個為一個新的元素存入新的列表中,即列表套列表
new_list = [data_list[i:i + 8] for i in range(0, len(data_list), 8)]
# 生成一個xlwt.Workbook對象
xls = xlwt.Workbook()
# 調(diào)用對象的add_sheet方法
sheet = xls.add_sheet('sheet1', cell_overwrite_ok=True)
# 創(chuàng)建我們需要的第一行的標頭數(shù)據(jù)
heads = ['chatDomain', 'chatUrl', 'code', 'pid', 'rank3', 'seller', 'shopId','venderId']
ls = 0
# 將標頭循環(huán)寫入表中
for head in heads:
sheet.write(0, ls, head)
ls += 1
i = 1
# 將數(shù)據(jù)分兩次循環(huán)寫入表中 外圍循環(huán)行
for list in new_list:
j = 0
# 內(nèi)圍循環(huán)列
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()