获取TypeError:字节索引必须是整数或片,而不是s

2024-04-26 23:14:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个由分支机构的名称模型表,这是从在线托管的CSV文件自动存档。但是,我一直在犯错误

我怎样才能解决这个问题? 谢谢

from django.db import models

class Branches(models.Model):

    ifsc       = models.CharField(max_length=1009)
    bank_id    = models.IntegerField()
    branch     = models.CharField(max_length=1009)
    address    = models.CharField(max_length=1500)
    city       = models.CharField(max_length=1999)
    district   = models.CharField(max_length=1999)
    state      = models.CharField(max_length=1000)
    bank_name  = models.CharField(max_length=1000)


    def __str__(self):
        return self.branch

from urllib.request import urlopen, Request
from io import StringIO
import csv

for row in urlopen('https://raw.githubusercontent.com/snarayanank2/indian_banks/dc7ac64137ecf24bfc564f3d6151331215cf4783/bank_branches.csv'):
    Branches.objects.create(ifsc=row['ifsc'], bank_id=row['bank_id'], branch=row['branch'], address=row['address'], city=row['city'], district=row['district'], state=row['state'], bank_name=row['bank_name'])

Tags: fromimportbranchidcityaddressmodelslength
1条回答
网友
1楼 · 发布于 2024-04-26 23:14:07

扩展Daniel Nudelmans的注释,下面是如何在当前代码中使用split

for row in urlopen('https://raw.githubusercontent.com/snarayanank2/...'):
    row = row.split(",")
    # row is now a list containing all the values from the row
    Branches.objects.create(ifsc=row[0], bank_id=row[1], branch=row[2], address=row[3], city=row[4], district=row[5], state=row[6], bank_name=row[7])

请记住,如果CSV有头文件(如“ifsc”、“bank\u id”等作为第一行),在for循环的第一次迭代中,row将是头文件的名称。你知道吗

相关问题 更多 >