2017-02-02 4 views
1

現在、最終出力として多数の情報を含む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のドキュメントでは文字列/整数の長さの制限について何も言わないようです。

+4

私はあなたがexcelで結果ファイルを開いたと思います。テキストモードでそれを開こうとすると、それはOKであることがわかります。 –

+1

あなたは間違った場所を探しています:)これはExcelの制限です。たとえば、[here](http://superuser.com/questions/437764/why-is-excel-truncating-my-16-digit-numbers/437794)を参照してください。 – roganjosh

+1

Excelは実際には非常にうんざりなCSVビューアです。私はできるだけそれに頼っています。 –

答えて

2

Excelには大量の表示に制限があり、CSVライターモジュールには何も問題ありません。

関連する問題