【发布时间】:2017-02-12 05:36:28
【问题描述】:
我正在尝试修改上传到我的烧瓶应用程序的 csv。当我不通过烧瓶上传时,我的逻辑可以正常工作。
import pandas as pd
import StringIO
with open('example.csv') as f:
data = f.read()
data = data.replace(',"', ",'")
data = data.replace('",', "',")
df = pd.read_csv(StringIO.StringIO(data), header=None, sep=',', quotechar="'")
print df.head(10)
我将它上传到烧瓶并使用
访问它f = request.files['data_file']
当我通过上面的代码运行它时,将 open('example.csv') 替换为 open(f),我收到以下错误
coercing to Unicode: need string or buffer, FileStorage found
我发现问题出在此处的文件类型上。我不能在我的文件上使用 open,因为 open 正在寻找文件名,并且当文件上传到烧瓶时,它是传递给 open 命令的文件的实例。但是,我不知道如何使这项工作。我试过跳过 open 命令,只使用 data = f.read() 但这不起作用。有什么建议吗?
谢谢
【问题讨论】:
-
“我尝试跳过打开命令,只使用 data = f.read() 但这不起作用。”会发生什么?
-
它只是创建一个没有任何信息的空白字符串。