1

私は次のようなアドレスを持っています

line = 12345 North Drive,,"Palm Retreat, CO",CO,92261  

分割すると

line.split(",") 
['12345 North Drive', '', '"Palm Retreat', ' CO"', 'CO', '92261']  

私が欲しいのは

'12345 North Drive', '', '"Palm Retreat CO"', 'CO', '92261']  

私がここで欠けているのは何ですか?

4

2 に答える 2

4

split()意図したとおりに機能しています。引用符は気にしません。csv次のコマンドと組み合わせてモジュールを確認することStringIOをお勧めします。文字列をStringIOオブジェクト(ファイルのように見せます)に入れてから、に渡しますcsv.reader。このようなもの:

import csv
from cStringIO import StringIO

s = "12345 North Drive,,\"Palm Retreat, CO\",CO,92261"
s = StringIO(s)
reader = csv.reader(s, delimiter=",")
for row in reader:
    print row

更新:実際には、csv.reader(ファイルだけでなく)行を生成する反復可能オブジェクトで動作するため、ビットcsv.readerを経由せずに行のリストを渡すことができます。StringIO

于 2012-06-14T22:55:49.173 に答える
0

このcsvモジュールを使用してCSVデータを処理する必要があります。

于 2012-06-14T22:54:55.363 に答える