1

以下を使用して、Microsoft SQL データベースから情報を読み取るプロセスがあります。

df = psql.read_sql(sql, con=connection)
print(df)

この関数は多くのプロセスで使用されるため、変数sqlは同じ列 (変数構造) を持ちません。

次に、たとえば次のデータを取得します。

STORE EMAIL_CONTACT VALUE
10    a@mail.com    2.2100
23    b@mail.com    0.7990

この時点まではすべて問題ありません。

以下を使用して csv に抽出する場合:

file = r"Test.csv"
df.to_csv(file, sep=";", index=False, quoting=csv.QUOTE_ALL)

出力は次のとおりです。

"STORE";"EMAIL_CONTACT";"VALUE"
"10.0";"a@mail.com";"2.2100"
"23.0";"b@mail.com";"0.7990"

列 STORE に「.0」が追加されました...

関数「to_csv」を構成して、印刷に示されているとおりに(値)を正確に出力する方法はありますか? 前もって感謝します。

"STORE";"EMAIL_CONTACT";"VALUE"
"10";"a@mail.com";"2.2100"
"23";"b@mail.com";"0.7990"

解決済み: 問題は小数オプションにありました:

df.to_csv(file, sep=";", index=False, quoting=csv.QUOTE_ALL, decimal=",")

"STORE";"EMAIL_CONTACT";"VALUE"
"10";"a@mail.com";"2.2100"
"23";"b@mail.com";"0.7990"

応援してくれてありがとう!

4

1 に答える 1