2017-01-05 10 views
3

申し訳ありませんこれまでに質問されている場合は、私は同じ質問を見つけることができませんでした。Pythonでは、浮動小数点のリストに参加した後で引用符を取り除くにはどうすればよいですか?

私は、CSVファイルに3つの行をproductcode,amountenteredおよびchangecoinsと書いてみようとしています。 changecoinsは、私がchangecoins=",".join(map(str,changecoins))を使って結合した浮動小数点のリストです。これは私のCSVファイルに書き込まれた値の周りにまだ引用が残っていることを除いてうまくいきます。

私はstripを使用して試してみましたが、置き換えられますが、動作しないようです。 以下のcsvファイルにコードと出力を添付しましたが、これを修正する方法を知っていますか?

changecoins=",".join(map(str,changecoins)).replace('"', '') 
changeline=(productcode, amountentered, changecoins) 
changewriter.writerow(changeline) 

出力

01,1.0,"0.1,0.1" 
01,2.0,"0.5,0.5,0.1,0.1" 
04,1.0,"0.1,0.1,0.1,0.1" 
+0

質問にあなたのコードを掲載できますか?だから我々は助けることができる。 – Lucas

+0

それは十分なコードですか? – Olivia

+0

@dstudeba質問を編集するときに画像を削除してください!コードを画像に入れて、質問によく書き込むのは悪いことです。 – Lucas

答えて

2

なぜ拡張子を使用しないのですか?

result = [productcode, amountentered] 
result.extend(changecoins) 
changewriter.writerow(result) 

あなたも、より滑らかな取得したい場合は、あなただけ行うことができます。

result = [productcode, amountentered] + changecoins 
changewriter.writerow(result) 

あるいは単に:

changewriter.writerow([productcode, amountentered] + changecoins) 

あなたが不必要にフロートに参加しているようです。..あなたはすでに浮動小数点のリストを持っています。他の2人の人にそれを貼り付け、それをCSVライターに渡します。

+0

ああ、そうです。全く誤解されたOP。それはタプルである必要はありません。 –

+0

これは、うまくいった!これはしばらく私を迷惑にしています。 – Olivia

+0

これはあなたのために働いた場合、私の答えを受け入れることを検討してください:) – deweyredman

2

あなたはCSVの区切りでもあるとき、自分の価値観に参加する "" 使用しているので、これは、最も可能性が高いです。 Pythonは列を引用符で囲んでいるので、セル値の中の "、"は区切り文字と混同されません。

"、"と異なる文字で結合するように変更したり、ファイルの区切り文字を変更したりすると、引用符がなくなります。

+0

ファイルは割り当ての一部として私たちに与えられました。私はそれを編集することができず、最終出力にカンマを置く必要があります。これを回避する方法はありますか? – Olivia

+0

csvライターを変更して列に別の区切り文字を使用することができます。問題は、何らかの形で列値の引用符を取り除くと、そのCSVを開いたアプリケーションは、列を "、"区切り文字の列に分割するので、単一の値に対して個々の列の値として扱います。 –

+0

changewriterをインスタンス化するときに別の区切り文字を指定することができます。たとえば、 ";"または "|" csv 'csv.writer(csvfile、delimiter = ';'、quoting = csv)の出力列の区切り文字として使用します。" –

関連する問題