繁体   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