私は次のようなcsvを持っています:
name: john
date modified: 2018-09
from: jane
colum1 column2 column3
data data data
csvから読み取るときに表形式のデータが始まる前に行を削除する、適用できる関数はありますか?現在、上記の行column
を読んだとき、奇妙な文字のように見えます。
新しいテーブルは次のようになります。
colum1 column2 column3
data data data
私はこのようなことをします:
from io import StringIO
with open('filename.csv') as f:
lines = f.readlines()
s = StringIO(''.join((l for l in lines if ':' not in l)))
pd.read_csv(s)
または:
with open('filename.csv') as f:
lines = f.readlines()
skip_rows_idx = [i for i, l in enumerate(lines) if ':' in l]
pd.read_csv('filename.csv', skiprows=skip_rows_idx)
ヘッダーにコロンがない場合は、上記のコード(最初の例)を適応させて、次のように最初の行を削除できます。
import itertools
s = StringIO(''.join(itertools.dropwhile(lambda l: ':' in l, lines)))
(ヘッダーの後に「悪い」行がないと仮定します)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加