簡體   English   中英

將數據框添加到Excel工作表

[英]Adding data frame to excel sheet

從巨大的csv文件讀取數據panda.ExcelWriter后,我嘗試使用panda.ExcelWriter將數據panda.ExcelWriter寫入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()關閉xlsxwriter文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM