我已經不是從使用Microsoft SQL數據庫讀取信息的過程:帶有pandas.DataFrame.to_csv()的數字格式列?
df = psql.read_sql(sql, con=connection)
print(df)
此功能在許多流程,這樣變量sql
不具有相同的列(變結構)使用。
然後我得到的,例如,下面的數據:
STORE EMAIL_CONTACT VALUE
10 [email protected] 2.2100
23 [email protected] 0.7990
一切都很好這一點。
當使用提取到CSV:
file = r"Test.csv"
df.to_csv(file, sep=";", index=False, quoting=csv.QUOTE_ALL)
輸出如下:
"STORE";"EMAIL_CONTACT";"VALUE"
"10.0";"[email protected]";"2.2100"
"23.0";"[email protected]";"0.7990"
列存儲目前擁有」 .0" ......
是否有辦法將函數「to_csv」配置爲正確輸出(值),如打印中所示?提前致謝。
"STORE";"EMAIL_CONTACT";"VALUE"
"10";"[email protected]";"2.2100"
"23";"[email protected]";"0.7990"
解決:問題是有小數點選項:
df.to_csv(file, sep=";", index=False, quoting=csv.QUOTE_ALL, decimal=",")
"STORE";"EMAIL_CONTACT";"VALUE"
"10";"[email protected]";"2.2100"
"23";"[email protected]";"0.7990"
謝謝大家的支持!
爲什麼你需要引號?而且還可以檢查你存儲值的類型?打印df.STORE.dtype?只嘗試df.to_csv(file,sep =「;」,index = False) – YOBA
這意味着'STORE'列dtype可能是float,請嘗試'df ['STORE'] = df ['STORE']。astype(int )'並寫出到csv – EdChum
在MSSQL表中,STORE是一個DECIMAL(8,0)。 –