gpt4 book ai didi

python - 使用 Pandas 和 Django 读取和解析 excel 文件

转载 作者:行者123 更新时间:2023-11-28 21:37:14 26 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.


4年前关闭。







Improve this question




在我的 Django(2.0.1) 项目中,我想读取电子表格(excel、csv、ods)并将其转换为 python 字典进行处理。

我正在调查 django-excel但它不支持 Django 2。因此,我打算使用 Pandas。我想知道在这种情况下有什么优点和缺点(主要是复杂性与性能)。请建议其他可以使用的解决方案?

项目详情:这是一个使用 DRF 作为后端的 SPA。用户将上传 excel 文件,我想在 Django View 中处理它。

最佳答案

不,这不是矫枉过正。在这种情况下,pandas可以增加灵 active 而不是限制。

例如,您可以允许用户上传以下任何内容:excel、csv、csv.gz。由于pandas有一个方法库来处理各种格式,您可以编写一个函数来选择适当的方法并转换为数据帧。

一旦进入数据框,转换为字典就很简单了。

这是我为此目的使用的函数示例:

import os, pandas as pd

def read_file(filename, **kwargs):

"""Read file with **kwargs; files supported: xls, xlsx, csv, csv.gz, pkl"""

read_map = {'xls': pd.read_excel, 'xlsx': pd.read_excel, 'csv': pd.read_csv,
'gz': pd.read_csv, 'pkl': pd.read_pickle}

ext = os.path.splitext(filename)[1].lower()[1:]
assert ext in read_map, "Input file not in correct format, must be xls, xlsx, csv, csv.gz, pkl; current format '{0}'".format(ext)
assert os.path.isfile(filename), "File Not Found Exception '{0}'.".format(filename)

return read_map[ext](filename, **kwargs)

然后简单地调用它如下:
df = read_file('file.xlsx')  # or 'file.csv', 'file.csv.gz', etc

关于python - 使用 Pandas 和 Django 读取和解析 excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50019210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com