私はpythonで新しいです。ここに私のCSVファイルがあります:Pythonでcsvセルに文字を挿入するには?
data;data;name surname; data; data
data;data;name surname; data; data
data;data;name surname; data; data
data;data;name surname; data; data
私がしたいことは、 ";"を挿入することです。そのような名前と名字2列作るために:
data;data;name;surname; data; data
data;data;name;surname; data; data
data;data;name;surname; data; data
data;data;name;surname; data; data
をしかし、ハードなことは時々そのような複数のスペースがあり、されています
data;data;name surname surname2; data
data;data;name surname surname2 surname3; data
は、私はちょうど最初の空白を交換したいです、いないすべてのことのように:
data;data;name;surname surname2; data
data;data;name;surname surname2 surname3; data
ここに私のコードですが、それはすべてのスペース置き換え:
def modify_rows():
with open("result2.csv","rb") as source:
rdr= csv.reader(source, delimiter=';')
with open("result3.csv","wb") as result:
wtr= csv.writer(result,delimiter=';')
for r in rdr:
rowname = r[3].replace(' ', ';')
wtr.writerow((r[0],r[1],rowname,r[2]))
を
希望が見つかりました。
はあなたには、いくつかを与えることができます予想されるファイルサイズの列と行の向き私たちが大きなファイルについて話しているなら、答えは異なるかもしれません – Adirio
Pythonライブラリの 're'モジュールを試してみよう – saikumarm
私は最初のスペースが正規表現よりも簡単であることに同意しません。 – Adirio