使用to_csv Pandas消除DECIMAL

时间:2018-02-23 17:00:39

标签: python csv export-to-csv

当我向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")

1 个答案:

答案 0 :(得分:0)

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

基本上,您应该将+------+ |tab1.id| +------+ | 3 | | 4 | +------+ 参数设置为float_format。那应该可以胜任。