panda.ExcelWriter
巨大なcsvファイルから読み取った後、Excelで使用できるデータフレームを作成しようとしています。
このコードはExcelシートを更新しますが、必要なデータをExcelに追加しません
import pandas as pd
reader = pd.read_csv("H:/ram/temp/1.csv", delimiter = '\t' ,chunksize = 10000, names = ['neo_user_id',
'gender',
'age_range',
'main_geolocation', # (user identifier of the client)
'interest_category_1',
'interest_category_2',
'interest_category_3',
'first_day_identifier'
], encoding="utf-8")
ew = pd.ExcelWriter('H:/ram/Formatted/SynthExport.xlsx', engine='xlsxwriter', options={'encoding':'utf-8'})
for chunks in reader:
chunks.to_excel(ew, 'Sheet1' , encoding = 'utf-8')
print len(chunks)
ew.save()
私も使用しようとしましたがdata.append()
、data.to_excel
この結果を実行するとメモリエラーになります。私はチャンクでデータを読んでいるので、Excelにデータを書き込む方法はありますか
私はそれをこのコードで動作させました
import pandas as pd
import xlsxwriter
reader = pd.read_csv("H:/ram/user_action_export.2014.01.csv", delimiter = '\t', chunksize = 1000, names = ['day_identifier',
'user_id',
'site_id',
'device', # (user identifier of the client)
'geolocation',
'referrer',
'pageviews',
], encoding="utf-8")
startrows = 0
ew = pd.ExcelWriter('H:/ram/Formatted/ActionExport.xlsx', engine='xlsxwriter', options={'encoding':'utf-8'})
for chunks in reader:
chunks.to_excel(ew, 'Sheet1' , encoding = 'utf-8', startrow = startrows)
startrows = startrows + len(chunks)
print startrows
ew.save()
しかし、それでもとても時間がかかります
それが主な問題を引き起こしているかどうかはわかりませんが、ファイルsave()
をsave()
閉じるための1回の呼び出しなので、チャンク間で呼び出すべきではありませんxlsxwriter
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加