現在、最終出力として多数の情報を含むCSVファイルを作成する必要があるプロジェクトに取り組んでいます。私は現在、すべてのデータを非常に大きなリストに保存し、それをCSVパッケージでCSVファイルに書き込みます。私の問題は、データフィールドの1つに文字列として格納された非常に長い番号が含まれていますが、15桁目の後の数字は0に置き換えられます。私はデバッガを使いこなし、 CSVファイルに書き込まれるまでの道のり。ここでPython CSVライターは長い数字を切り捨てます
は私のCSVライターの方法です:
b = open('phoneTest4.csv', 'wb')
a = csv.writer(b, dialect="excel")
a.writerows(List)
b.close()
リストは述べた項目に関連する一つのアイテムやメタデータを表す各サブリストで、実際にサブリストの束です。部分リストは、例えばとしてフォーマットされる:最終的なCSVファイルで
["20120402180644691","Some Text", "Another number"]
、最初の番号が「20120402180644600」の代わりに実際の数として記憶されます。私はかつてCSVモジュールを使ったことがなく、Pythonのドキュメントでは文字列/整数の長さの制限について何も言わないようです。
私はあなたがexcelで結果ファイルを開いたと思います。テキストモードでそれを開こうとすると、それはOKであることがわかります。 –
あなたは間違った場所を探しています:)これはExcelの制限です。たとえば、[here](http://superuser.com/questions/437764/why-is-excel-truncating-my-16-digit-numbers/437794)を参照してください。 – roganjosh
Excelは実際には非常にうんざりなCSVビューアです。私はできるだけそれに頼っています。 –