1000年、2000年、... 39000.
のような値を持つフィールド(列)を持つSome.csvと呼ばれるファイルを持っています
私は39000を持つファイルだけが私はこれをWindows上で実行する場合は、次のPythonスクリプト
import os
import csv
with open('Somenew.csv', 'w') as fw:
writr = csv.writer(fw, delimiter=',')
with open('Some.csv','r') as fr:
reader = csv.reader(fr, delimiter = ',')
for row in reader:
if row[2] == '39000': writr.writerow(row)
は、今ではSomenew.csvこの
のように見え書いて欲しかったですXXXX、XXXX、39000、xxxxは、
YYYY、YYYY、39000、YYYY、YYYY
をxxxxをしかし、Linuxの(Ubuntuの14.04LTS)上で実行する場合があり、余分な改行が追加されません。
これには何らかの理由がありますか?それはおそらくコンパイラのためでしょうか?あなたは、Python 2.xのを使用している場合
Windowsは '\ n \ 'の代わりにテキストファイルの行末に' \ r \ n'を使用するからです。単純な修正は、CSVファイルをバイナリファイルとして読み書きすることですが、Python 3には他にもオプションがあります。どのバージョンのPythonを使用していますか? –
http://stackoverflow.com/questions/1170214/pythons-csv-writer-produces-wrong-line-terminator/1170297#1170297 – LearnerEarner
2.7.something(おそらく10)。ありがとうございます。 'r'と 'w'を 'rb'と 'wb'に変更しますか? – Sood