0

したい:

  1. CSV 形式のデータを Python リスト/配列にインポートする

  2. 文字列の 8 つのスペース フィールドを右揃えにする

  3. 出力をテキスト ファイルとして書き込みます

たとえば、次のような csv データを有効にしたい:

11111, 22,

333, 4444

の中へ:

   11111      22

     333    4444

私のコードは現在次のようになっています:

import csv

input_file = "csv_file.csv"
my_data = csv.reader(open(input_file, "rb"), delimiter=',')

for i,j in my_data:
    x = ('%-15s %s\n' % (i,j))

with open('my_output.txt', 'w') as file:
    file.writelines(x)

ありがとうございました

4

1 に答える 1

1

rjust各要素を個別に、次のようにします''.join

''.join(elem.rjust(8) for elem in (i,j))

または、すべてを書き出すには:

def join_line(line_iter):
    """
    Take a iterable containing strings and right justify each 
    at 8 spaces before joining
    """
    return ''.join(elem.rjust(8) for elem in line_iter)

with open('output','w') as f:
    f.writelines((join_line(row)+'\n') for row in csv_file)
于 2013-01-09T19:37:47.627 に答える