py3 讀入和寫入csv,txt文件


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=Nonesep=''na_rep=''float_format=Nonecolumns=Noneheader=Trueindex=Trueindex_label=Nonemode='w'encoding=Nonecompression=Nonequoting=Nonequotechar='"'line_terminator='\n'chunksize=Nonetupleize_cols=Falsedate_format=Nonedoublequote=Trueescapechar=Nonedecimal='.')

保存為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()

# 按行讀入文本文件數據,並將數據按行寫入字典

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM