强制到Unicode的CSV映射:需要字符串或缓冲区,找到列表

2024-09-28 21:52:37 发布

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

我尝试使用以下代码片段:http://djangosnippets.org/snippets/788/导入CSV。在

我得到以下错误:

coercing to Unicode: need string or buffer, list found

为什么?

PS该文件是从S3存储加载的,这就是为什么我有额外的CSVImport来检测它是否是一个字符串或文件,应该可以工作。在

以下是完整代码:

运行导入:

from core.csv_reader import CSV
            from .csvImport import CSVImport

            csv_object = CSV(self.filepath)
            this_file = csv_object.get_data()


            new_object = CSVImport(csvfile=this_file,
                                   model=Contact,
                                   modelspy=".",
                                   mappings="1=first_name,2=mobile")

            new_object.run()

CSVImport类:

^{pr2}$

Tags: 文件csv代码fromorgimporthttpnew
1条回答
网友
1楼 · 发布于 2024-09-28 21:52:37

self.data是一个列表(在CSV中):

self.data = [row for row in csv.reader(f)]
self.data = [row for row in csv.reader(file.read().splitlines())]

因此,this_file是一个列表:

^{pr2}$

所以当你这样做的时候,new_object = CSVImport(csvfile=this_file,...)似乎希望CSVImport是一个字符串,但是你给它传递了一个list。在

我不知道你到底想达到什么目的,但这似乎是个错误。在

希望这有帮助!在

相关问题 更多 >