我正在使用Pandas读取较大的csv文件,然后使用Flask进行投放。我收到错误'TextFileReader' object has no attribute 'to_html'
。我认为块大小是造成此问题的原因,但是没有它,我无法打开4GB以上的文件。
from flask import Flask, session, request, json,Response,stream_with_context,send_from_directory,render_template
import pandas as pd
app = Flask(__name__)
@app.route('/readcsv')
def host_data():
csvname=request.args.get('csvname')
df=pd.read_csv(csvname,chunksize=5000)
return df.to_html(header="true")
答案 0 :(得分:5)
使用chunksize
时,您将获得一个块生成器。例如,应使用以下命令将它们连接起来:
df = pd.concat((chunk for chunk in pd.read_csv(csvname,chunksize=5000)))
在没有实现某种分页的情况下提供这样的大文件,将导致服务器产生完全阻止响应,这将导致用户等待文件打开并正确呈现为html。