使用to_csv Pandas消除DECIMAL

问题描述 投票:0回答:1

当我向csv导出数据帧时,我遇到了问题。我有一个例如1520的列号,但是当我使用to_csv导出到csv时,在te文件中我找到带有十进制的数字1520.0,可以消除“.0”而只保留数字“1520”?

all.to_csv('D:\ test.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")
python csv export-to-csv
1个回答
0
投票

@abarnert已在类似问题中回答了这个问题,请参阅:https://stackoverflow.com/questions/16763327/python-round-leaving-a-trailing-0

基本上,您应该将float_format参数设置为float_format='%.0f'。那应该做的。

© www.soinside.com 2019 - 2024. All rights reserved.