2012-05-11 21 views
3

私は単純な(しかし巨大な)CSVテーブルを持っており、このテーブルの各行/行の後に空白(空白)の行/行を挿入する必要があります。別の方法でそれを説明するために、私はテーブルのすべての2行目を空白にしたい(しかし元の行を削除/上書きしない)。私は多くの方法を試してみましたが、これは、私が思い付くことが最高です:Pythonを使ってテーブルに空白行を挿入するにはどうしたらいいですか?

with open(sys.argv[1], 'r') as input: 
    readie=csv.reader(input, delimiter=',') 
    with open("output.csv", 'wt', newline='') as output: 
     outwriter=csv.writer(output, delimiter=',') 
     for row in readie: 
      row_plus = (row, \n) 
      outwriter.writerow(row_plus) 

それは一つの列に、テーブル内のすべての列をザ・クランプスと2として(row, \n)解釈するので、それが動作するようには思えません列のみ。また、単に "\ n"を出力し、別の行区切りを挿入したいと認識しません。

for row in readie: 
    outwriter.writerow(row) 
    outwriter.writerow([]) 

あなたがやりたいようだ:についてはどのように

+0

サンプル入力?期待される出力? –

+0

@Frank: 'input'が' csv.reader'のためにオープンされたファイルである場合、 'newline = '''引数を 'output(...)'関数に追加する必要がありますそれは 'outwriter'のためのものです。これは、入力ファイルから通常読み込まれるテキスト行から値が抽出された以前の質問と比較して、状況がかなり異なっています。私はあなたの質問にインデントを修正しました。 2つの 'width'構造をPython 3.1+で1つにまとめることができます。http://docs.python.org/py3k/reference/compound_stmts.html#the-with-statement – pepr

答えて

6

+0

の例を見てください。それ!ありがとうございますlarsks! – Frank

関連する問題