import numpy as np
import pandas as pd
import time
import datetime
import csv
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html
- 直接保存為csv,漢子也可以被導出:
-
DataFrame.
to_csv
(path_or_buf=None, sep=', ', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression=None, quoting=None, quotechar='"', line_terminator='\n', chunksize=None, tupleize_cols=False, date_format=None, doublequote=True, escapechar=None, decimal='.')
保存為csv后,再把文件名字改為txt后綴:
df_merge.to_csv('aa1.csv',index_label=None)
csv_name='aa1.csv'
new_name=os.path.splitext('aa1.csv')[0]+'.txt'
os.rename(csv_name,new_name)
1)讀入數據框
os.chdir(r"D:\jczj\Desktop\項目\德甲")
allgame2=pd.read_excel(r"D:\jczj\Desktop\項目\德甲\yuce_dejia.xlsx")
2)
寫入csv
import csv
value=[]
for i in range(3):
a=i+1
b=i*i
v=(a,b)
print(v)
value.append(v)
print(value)
with open ('aa.csv','w',newline='') as data:
bb=csv.writer(data,dialect=('excel'))
bb.writerow(['col1_name1','col_name2'])
bb.writerows(value) #此處的 value 必須是列表才行
data.close()
3)
把pandas 數據框中的數據寫入 csv文件:
假設 combos 是數據框,有5個列
vv=combos.values #取出數據框中的值,數據框的底層數據默認是array的,所以取出的這個數據也是數組,需要將數組轉換為列表,才能被寫入csv
pp=list(vv)
with open ('output.csv','w',newline='') as data2:
bb=csv.writer(data2,dialect=('excel'))
bb.writerow(['age','amount','grade','gender_1','predict']) #指明列名
bb.writerows(pp)
data2.close
4)把pandas數據寫入txt文檔
combos是pandas數據,格式如下:
age amount grade gender_1 intercept predict
0 18 208182 6 0.0 1 0.485540
1 18 26141 8 1.0 1 0.519408
2 18 325354 9 0.0 1 0.499659
3 18 183147 5 1.0 1 0.479521
4 18 13923 5 1.0 1 0.495424
將其寫入txt文件中:
vv=combos.values
pp=list(vv)
f1=open('out.txt','w')
for i in pp:
a1=list(i)
a2=str(a1)[1:-1].replace(',','') #因為pandas數據底層是arrary數據,寫入txt中的數據又必須是字符。i也是array數據,將i轉成字符后,有 符號"【 】,"需要處理掉。
f1.write(a2+'\n')
f1.close()
5) 讀入文件數據
import codecs
f_in = codecs.open('kaola_imei_sort2','r','utf-8')
source_dic = {}
for i in f_in.readlines():
line = i.strip().split('|')
key = '|'.join(line[0:10])
value = line[-1].split(',')
source_dic[key] = value
f_in.close()
# 按行讀入文本文件數據,並將數據按行寫入字典