1

次の内容の.csvファイルを読み取る方法

$C=2$A=3$B=1$

次に、同じ内容で、次のようにアルファベット順に$変更された新しい.csvファイルを作成します。,

A=3,B=1,C=2

ありがとうございました!

編集:

これが私の次のコードです。出力の先頭に余分なコンマを付けることになりました。

input = csv.reader(open('inputfile.csv','r'), delimiter='$')
output = open('outputfile.csv','w')
try:
    writer = csv.writer(output)
    for column in input:
        writer.writerow(sorted(column))
        print (sorted(column))
finally:
    out.close()

今のところ私の入力は次のとおりです。

$ C = 2 $ A = 3 $ B = 1 $

私の出力は次のとおりです。

、A = 3、B = 1、C = 2

私はそれをしたい:

A = 3、B = 1、C = 2

ありがとう!

4

2 に答える 2

2
with open('test.csv') as in_file, open('new.csv', 'w') as out_file:
    for line in csv.reader(in_file, delimiter='$'):
        out_file.write(','.join(sorted(line)[2:])+'\n')

基本的にこれが行うことは次のとおりです。

  • 次のように入力を開きますin_file
  • 次のように出力を開きますout_file
  • 入力ファイルとして$使用する区切り文字としてCSVリーダーを初期化しますin_file
  • 次のように各行を繰り返します。
    • すべての要素を並べ替えます(解析後)
    • 最初の2つを破棄します(各行の開始/終了区切り文字のため、常に空の文字列になるため)
    • ,区切り文字として使用してこれらの要素を再結合します
    • 末尾に改行を付けてファイルに書き込みます\n

編集:CSV(ビット)$から解析される空の要素を削除することにより、開始/終了シンボルを修正しました[2:]

于 2012-07-23T19:22:26.407 に答える
0

を使用しcsv.readerて、区切り文字をに設定したファイルを読み取ることができます'$'。次に、返された各行について、空の要素を取り除き、残りを並べ替えます。

row = sorted([item for item in row if item])
于 2012-07-23T19:22:11.793 に答える