Я пытаюсь выполнить групповую загрузку некоторого фиктивного контента из файла CSV на сайт разработки, чтобы провести некоторое тестирование. Я использую Plone 4.0.1, с Python 2.6.5, на Mac OS X 10.6.6.
1) Я подумал, что создам быстрый скрипт, который будет перебирать CSV-файл, а затем создавать некоторые из моих пользовательских типов контента: (По аналогии с http://plone.org/documentation/kb/batch-adding-users). В Plone 3 я мог анализировать файлы CSV в этой моде.
Однако я получил AttributeError при разделении. Я копирую из моего ipython (ipzope) тестирования:
>>> portal
<PloneSite at /Plone>
>>> portal['Scripts']['dummydata.csv']
<File at /Plone/Scripts/dummydata.csv>
>>> dummy = portal['Scripts']['dummydata.csv']
>>> dummy
<File at /Plone/Scripts/dummydata.csv>
>>> dummy.data.split('\n')
------------------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
AttributeError: split
>>> dummy.split('\n')
------------------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
AttributeError: split
2) В конечном счете, я бы хотел использовать csv из стандартной библиотеки, которая также не работала.
>>> import csv
>>> csv
<module 'csv' from '/Applications/Plone/Python-2.6/lib/python2.6/csv.pyc'>
>>> spamReader = csv.reader(dummy, delimiter=',', quotechar='"')
------------------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
TypeError: argument 1 must be an iterator
>>> spamReader = csv.reader(dummy.data, delimiter=',', quotechar='"')
------------------------------------------------------------
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
TypeError: argument 1 must be an iterator
Есть идеи?
Лучший,
Patrick