簡體   English   中英

使用to_csv Pandas消除十進制

[英]ELIMINATE DECIMAL USING to_csv Pandas

我將數據導出到csv時遇到問題。 我有一個列號,例如1520,但是當我使用to_csv導出到csv時,在te文件中我找到了帶小數的1520.0,可以消除“ .0”而只保留數字“ 1520”嗎?

todo.to_csv('D:\\ prueba.csv',sep =',',header = False,index = False)

我已經用這段代碼解決了,但是當我有很多列時會很復雜

for i in range(81,698):
 print("Creacion de archivo LOTE_AMD_M{0}.csv".format(i))
 data = pandas.read_sql(sql2.format(i),cnxn)
 todo=pandas.concat([dat,data])

 ruta='D:\descarga\LOTE_AMD_M{0}.csv'.format(i)
 r=todo
 r=r.fillna('')

 archivo= open(ruta,"a")
 count=0
 for index,row in r.iterrows():
     d=''
     for j in list(todo):
         if j == 'C1':
             t=str(row[j])
             d+=",{0}".format(t[0:len(t)-2])
         else:    
             d+=",{0}".format(row[j])

     archivo.write(d[1:len(d)]+'\n')
     count+=1

     if count%1000==0:
         print("se han insertado ",count," lineas")

archivo.close()

print("termino Carga SQL Query")

@abarnert已在類似問題中回答了這個問題,請參閱: https ://stackoverflow.com/questions/16763327/python-round-leaving-a-trailing-0

基本上,您應該將float_format參數設置為float_format='%.0f' 那應該做的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM