201行のCSVファイルを分割しようとしています。最初の136行には、残りの65行とは異なる情報が含まれています。とにかく136行後にCSVファイルを分割できますか?指定した行の後にCSVファイルを分割するPython
私が今までに見つけた解決策は、ファイルを均等に分割します。私はこれを可能な解決策としても検討しました。https://gist.github.com/jrivero/1085501
201行のCSVファイルを分割しようとしています。最初の136行には、残りの65行とは異なる情報が含まれています。とにかく136行後にCSVファイルを分割できますか?指定した行の後にCSVファイルを分割するPython
私が今までに見つけた解決策は、ファイルを均等に分割します。私はこれを可能な解決策としても検討しました。https://gist.github.com/jrivero/1085501
ファイルオブジェクトに2つのcsv.reader
オブジェクトを使用できます。 スライスitertools.islice
を使用して指定した数の行までの最初のリーダーオブジェクトを読み取り、2番目のリーダーを使用して残りの行を読み取ります。 2つの部分は言うの区切り文字によって異なる場合
、2つのcsv.reader
オブジェクトを簡単にこの処理することができます:あなたは、あなたが行を知ってcsvreader.line_num
を使用することができますスキップする必要がある行数を知っている場合
import csv
from itertools import islice
with open('your_file_name.csv') as f:
first_rows = list(islice(csv.reader(f), None, 136))
last_rows = list(csv.reader(f, delimiter=';')) # use a different delim or quote char
解決に感謝します!私がパンダとその読み込みCSV関数を使用していた場合のアプローチは同じですか? – wolverinejohn
@wolverinejohnファイルイテレータを直接スライスし、そのスライスをpandasのcsv read関数に渡すことができます。 –
これを読んで、2つのスライスの[rows:136]と 'rows [136:] 'を取ることができます。 –