前提・実現したいこと
CSVファイル(50000rows × 18 colums)を
そのまま読み込み(行列の形式そのまま)
0~10カラムを抜き出し
0,1,11~18カラムを抜き出し
それぞれ保存したい。
発生している問題・エラーメッセージ
ValueError: Usecols do not match columns, columns expected but not found: [2, 3, 4, 5, 6, 7, 8, 9, 10]
該当のソースコード
import glob import pandas as pd files = glob.glob('*.CSV') #ファイル読み込み for f in files: #print(f) filename_kanketu = str(f) + 'k.CSV' #完結の名前の定義 filename_renzoku = str(f) + 'r.CSV' #連続の名前の定義 print(filename_kanketu) print(filename_renzoku) a = pd.read_csv(f,usecols=[0,1,2,3,4,5,6,7,8,9,10], encoding='shift-jis', header=None) #完結ファイルの読み込み b = pd.read_csv(f,usecols=[0,1,11,12,13,14,15,16,17,18], encoding='shift-jis', header=None) #連続ファイルの読み込み a.to_csv(filename_kanketu, header=None,index=False, encoding='shift jis') #完結ファイルの保存 b.to_csv(filename_renzoku, header=None,index=False, encoding='shift jis') #連続ファイルの保存
試したこと
以下の方法だと保存したファイルを見ると空白行のセルがなくなってしまう。
col_names = [i for i in range(18)] #未知数の範囲設定
csv = (pd.read_csv(f, names=col_names, encoding='shift-jis', header=None) #データ読み込み
a = csv.drop(range(9, 17), axis=1) #完結データのために連続データ削除
a.to_csv('as.CSV', header=None, encoding='shift jis') #aという名で出力