質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

7718閲覧

pythonでEXCELの値をCSVに書き込む時に数値がfloat型になってしまう

hotty4782

総合スコア27

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

2クリップ

投稿2016/09/04 05:07

###前提・実現したいこと
pythonからEXCELからセルの値を読み込んでcsvに落としたい

###発生している問題・エラーメッセージ
pythonからEXCELからセルの値を読み込んでcsvに落とすプログラムを書いたのですが
1とか2といった数値が1.0や2.0といったfloat型になってしまい困っています。

###該当のソースコード

python

1print('ユーザ辞書作成開始') 2 3#辞書の元になるEXCELと書き込み先のcsvを開く 4book = xlrd.open_workbook("userdic.xlsx") 5f = codecs.open('userdic.csv', 'w', 'utf-8') 6 7wr = "" 8sheet = book.sheet_by_index(0) 9for row in range(sheet.nrows): 10 for col in range(sheet.ncols): 11 #先頭の見出し行は処理しない 12 if(row != 0): 13 line = sheet.cell(row,col).value 14 wr = wr + str(line) + "," 15 16 #先頭の見出し行は処理しない 17 if(row != 0): 18 f.write(wr + '\r\n') 19 20 #再初期化 21 wr = "" 22 23print('ユーザ辞書作成終了')

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

python

1 line = sheet.cell(row,col).value 2 wr = wr + str(line) + ","

この line に浮動小数点の数値がきてしまうということですよね。
int 型に変換してしまうというのはどうでしょうか。

python

1 line = sheet.cell(row,col).value 2 if isinstance(line, float): 3 line = int(line) 4 wr = wr + str(line) + ","

投稿2016/09/04 06:17

mit0223

総合スコア3401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hotty4782

2016/09/04 06:35

無事に皆生r津しました。大変助かりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問