2015-08-04 2 views
0

я использую Python (2,7) Scrapy ползать некоторые данные, я хочу, чтобы сохранить элементы в виде файла, это мой код:питона сохранить список CSV одинарные

class RenthouseinfoPipeline(object): 
    def __init__(self): 
     self.myCSV = csv.writer(open('data.csv', 'wb')) 
     self.myCSV.writerow(['int', 'string', 'string', 'string', 'string', 'string', 'string','array']) 
     self.myCSV.writerow(['rentPrice','houseType','floor','rentMode','paymentType','address','telphone','imagesList']) 

    def process_item(self, item, spider): 
     self.myCSV.writerow([item['rentPrice'].encode('utf-8'),item['houseType'].encode('utf-8'),item['floor'].encode('utf-8'), 
         item['rentMode'].encode('utf-8'),item['paymentType'].encode('utf-8'),item['address'].encode('utf-8'), 
         item['telphone'].encode('utf-8'),item['imagesList']]) 
     return item 

открыть файл CSV я imagesList например:

"[u'/rimg_458x358/uploads/img/201507/27/e731bd0378326f57dfedbb8d9a4e9016.gif', u'/rimg_458x358/uploads/img/201507/27/0bd27344f29a6041d8e96c74e3f5d332.jpg', u'/rimg_458x358/uploads/img/201507/27/784b90acfcc0e76e34fec21b0beab5b4.jpg', u'/rimg_458x358/uploads/img/201507/27/86e9f0492c5aadbe75dca31e4d2b17a1.jpg', u'/rimg_458x358/uploads/img/201507/27/e381583d26b9f9cf6dda84fe5378837e.jpg']" 

, но сервер не может принять этот формат! как не могу получить: одинарные кавычки в двойные кавычки и без префикса «и», как это:

"["/rimg_458x358/uploads/img/201507/27/e731bd0378326f57dfedbb8d9a4e9016.gif", "/rimg_458x358/uploads/img/201507/27/0bd27344f29a6041d8e96c74e3f5d332.jpg", "/rimg_458x358/uploads/img/201507/27/784b90acfcc0e76e34fec21b0beab5b4.jpg", "/rimg_458x358/uploads/img/201507/27/86e9f0492c5aadbe75dca31e4d2b17a1.jpg", "/rimg_458x358/uploads/img/201507/27/e381583d26b9f9cf6dda84fe5378837e.jpg"]" 

progrom не имеют ошибок, я только хочу, чтобы изменить формат, я просто загрузить CSV файл на сервер с помощью! веб-страница не проходит по программе

+0

Пожалуйста, добавьте вывод 'print (item)' from inside 'process_item (...)' – inspectorG4dget

+0

Вы никогда не закрываете дескриптор открытого файла из 'open ('data.csv', ...)'. Это может быть причиной вашей проблемы – inspectorG4dget

+0

Нет проблем с кодом. Покажите код ранга, пожалуйста. – luoluo

ответ

1

Похоже, что ваши значения по умолчанию меняются где-то.

Попробуйте использовать это для писателя:

self.CSV = csv.writer(open('data.csv', 'wb'), delimiter = ',' , quotchar = """) 

Это должно работать, но не проверял.

+0

имеют некоторые ошибки. Я использую 'self.CSV = csv.writer (open ('data.csv', 'wb'), delimiter = ',', quotechar = '"') ', но не использовать – ivae

Смежные вопросы