多くの異なるデータファイルをさまざまなpandasデータフレームに読み込んでいます。これらのデータファイルの列はスペースで区切られています。ただし、ファイルごとにスペースの数が異なります(一部の場合、つまり、ファイルをインポートするたびに、そのファイルに手動で移動して、使用されたスペースの数を確認し、その数を与える必要があります。 sep
のスペース:
import pandas as pd
df = pd.read_csv('myfile.dat', sep = ' ')
pandasに区切り文字として「任意の数のスペース」を想定する方法はありますか?また、pandasを使用する方法はありますか?いずれかのタブ(\t
)または区切り文字としてスペース?
はい、sep='\s+'
のような単純な正規表現を使用して、1つ以上のスペースを示すことができます。
パラメータskipinitialspace=True
を使用して、区切り文字の後の先頭のスペースをスキップすることもできます。
Delim_whitespaceを直接使用できます
import pandas as pd df = pd.read_csv('myfile.dat', delim_whitespace = 1 )
サポートされていないセパレータを使用すると、私が見つけたものの1つです。 Pandas/Daskは、Cエンジンの代わりにPythonエンジンを使用する必要があります。これはかなり遅いです。