我有一个csv文件,其内容如下:
stores.csv
Site, Score, Rank
roolee.com,100,125225
piperandscoot.com,29.3,222166
calledtosurf.com,23.8,361542
cladandcloth.com,17.9,208670
neeseesdresses.com,9.6,251016
...
这是我的模特。
models.py
class SimilarStore(models.Model):
store = models.ForeignKey(Store)
csv = FileField()
domain = models.CharField(max_length=100, blank=True)
score = models.IntegerField(blank=True)
rank = models.IntegerField(blank=True)
所以,我想将stores.csv
文件上传到csv
字段,以便每个列数据分别进入domain
,score
和rank
。< / p>
我发现了一些资源使python文件解析数据并通过`python parse.py'之类的命令运行它。但是,我需要通过在Django admin中上传csv文件来完成它。任何人都可以解释我是如何做到的吗?
答案 0 :(得分:2)
您可以通过pandas读取csv文件,然后使用pandas funtion'infer_objects()'将其转换为您想要的对象ny。我希望下面的代码在这方面可以帮助你,
import pandas as pd
SimilarStore_df = pd.read_csv('./store.csv') #importing csv file as pandas DataFrame
SimilarStore_df.columns = ['Domain', 'Score','Rank']
SimilarStore=SimilarStore_df.infer_objects() #converting DataFrame to object
print(SimilarStore)
print(SimilarStore.columns)
输出:
Domain Score Rank
0 roolee.com 100.0 125225
1 piperandscoot.com 29.3 222166
2 calledtosurf.com 23.8 361542
3 cladandcloth.com 17.9 208670
4 neeseesdresses.com 9.6 251016
Index(['Domain', 'Score', 'Rank'], dtype='object')
答案 1 :(得分:0)
只需在数据库中找到表名,也可以在表中找到相应的列名,并在pandas中使用to_sql命令