|
||
0
0
·¹ºñ¿À»ç
Á¤¸» °¨»çÇÕ´Ï´Ù Àû¿ëÇغ¸°Ú½À´Ï´Ù!
ÀûÁö¸¸ °í»ýÇØÁֽŴñ°¡·Î »óÇ°±Ç ÂÊÁö·Î º¸³»µå·È½À´Ï´Ù! |
0
0
[* ºñȸ¿ø *]
º¸³»ÁֽŠ»óÇ°±Ç °í¸¿½À´Ï´Ù.
Å×½ºÆ®·Î´Â Àß µÆ½À´Ï´Ù¸¸ Àû¿ëÇغ¸½Ã°í ¾ÈµÇ¸é ÂÊÁö ÁÖ¼¼¿ä. |
0
0
·¹ºñ¿À»ç
{\"id\":2852211146,\"usable\":true,\"stockQuantity\":94,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"M\",\"optionName2\":null,\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":0,\"optionType\":null,\"optionName\":\"M\"},{\"id\":2852211147,\"usable\":true,\"stockQuantity\":99,\"price\":400,\"sellerManagerCode\":null,\"optionName1\":\"L\",\"optionName2\":null,\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":1,\"optionType\":null,\"optionName\":\"L\"},{\"id\":2852211148,\"usable\":true,\"stockQuantity\":100,\"price\":900,\"sellerManagerCode\":null,\"optionName1\":\"XL\",\"optionName2\":null,\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":2,\"optionType\":null,\"optionName\":\"XL\"}
AÀÇ °ªÀÌ ¿©±â¼ Àû¿ëÀ» Çغ¸¾Ò´Âµ¥ File \"/opt/storefarm/storefarm/spiders/storefarm_super.py\", line 80, in parse_dir_contents str = \',\'.join(str(e) for e in opt1) + \'\\n\' + \',\'.join(str(e) for e in opt2) File \"/opt/storefarm/storefarm/spiders/storefarm_super.py\", line 80, in str = \',\'.join(str(e) for e in opt1) + \'\\n\' + \',\'.join(str(e) for e in opt2) NameError: free variable \'str\' referenced before assignment in enclosing scope ÀÌ·± ¿À·ù°¡ ³ª³×¿ä ´ÊÀº½Ã°£À̶ó ÂÊÁöº¸´Ü µ¡±Û·Î ¹®Àǵ帳´Ï´Ù. |
0
0
[* ºñȸ¿ø *]
ÇÔ¼öÀÎ str À» º¯¼ö¸íÀ¸·Î »ç¿ëÇÏ¿© Ãæµ¹ÀÌ ¹ß»ýÇÑ °Í °°½À´Ï´Ù.
¾Æ·¡ ¼Ò½º ºÎºÐÀ» str = \',\'.join(str(e) for e in opt1) + \'\\n\' + \',\'.join(str(e) for e in opt2) print str --> tmp = \',\'.join(str(e) for e in opt1) tmp += \'\\n\' + \',\'.join(str(e) for e in opt2) print tmp ¿Í °°Àº Çü½ÄÀ¸·Î ¹Ù²ãº¸¼¼¿ä. Çغ¸½Ã°í ¾ÈµÇ½Ã¸é ´Ù½Ã ¸Þ½ÃÁö ÁÖ¼¼¿ä. |
0
0
¾óÀ½µ¤¹ä
Á¤±Ô½ÄÀº Àß ¸ð¸£Áö¸¸, Àç¹Õ¾îº¸¿©¼ ¸·¹«°¡³»·Î ÇغýÀ´Ï´Ù.
A = \'\'\' A=\'{\"id\":2977421695,\"usable\":true,\"stockQuantity\":98,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"Red\",\"optionName2\":\"S\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":0,\"optionType\":null,\"optionName\":\"S\"}, {\"id\":2977421699,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"Red\",\"optionName2\":\"M\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":1,\"optionType\":null,\"optionName\":\"M\"}, {\"id\":2977421700,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"Red\",\"optionName2\":\"L\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":2,\"optionType\":null,\"optionName\":\"L\"}, {\"id\":2977421702,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"Red\",\"optionName2\":\"XL\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":3,\"optionType\":null,\"optionName\":\"XL\"}, {\"id\":2977421704,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"White\",\"optionName2\":\"S\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":4,\"optionType\":null,\"optionName\":\"S\"}, {\"id\":2977421706,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"White\",\"optionName2\":\"M\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":5,\"optionType\":null,\"optionName\":\"M\"}, {\"id\":2977421708,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"White\",\"optionName2\":\"L\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":6,\"optionType\":null,\"optionName\":\"L\"}, {\"id\":2977421709,\"usable\":true,\"stockQuantity\":98,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"White\",\"optionName2\":\"XL\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":7,\"optionType\":null,\"optionName\":\"XL\"}\' \'\'\' listA = A.replace(\'A=\\\'{\',\'{\').replace(\'}\\\'\',\'}\').replace(\'\\n\',\'\') \\ .replace(\'null\',\'\"\"\').replace(\'true\',\'\"true\"\').replace(\'false\',\'\"false\"\') \\ .replace(\'},{\',\'}##{\') \\ .split(\'##\') listSet = [] for item in listA: listSet += [eval(item)] B = \',\'.join(map(lambda x: x[\'optionName1\'], tmp)) \\ + \'\\n\' + \',\'.join(map(lambda x: x[\'optionName2\'], tmp)) \\ + \'\\n\' + \',\'.join(map(lambda x: x[\'optionName3\'], tmp)) \\ + \'\\n\' + \',\'.join(map(lambda x: x[\'optionName4\'], tmp)) \\ + \'\\n\' + \',\'.join(map(lambda x: x[\'optionName5\'], tmp)) print B |
0
0
·¹ºñ¿À»ç
File \"/opt/storefarm/storefarm/spiders/storefarm_super.py\", line 93, in parse_dir_contents
+ \'\\n\' + \',\'.join(map(lambda x: x[\'optionName5\'], tmp)) NameError: global name \'tmp\' is not defined ´äº¯°¨»çÇÕ´Ï´Ù Àû¿ëÇغ¸´Ï ÀÌ·± ¿À·ù°¡ ³ª³×¿ä ¤Ð |
0
0
¾óÀ½µ¤¹ä
´ñ±Û ¿Ã¸®¸é¼ º¯¼ö¸íÀ» ¹Ù²Ù´Ù°¡ ½Ç¼ö¸¦ Ç߳׿ä. (tmp·Î µÇ¾î ÀÖ´Â ºÎºÐÀ» listSetÀ¸·Î ´Ù ¹Ù²ã¿©¾ß ÇÕ´Ï´Ù.)
A º¯¼ö¿¡ ¹®ÀÚ¿ÀÌ ÅؽºÆ®·Î ÇÑ ÁÙ·Î ÀÖ´Ù°í ÇϽŠºÎºÐÀ» ÀÌÁ¦¾ß ºÃ³×¿ä. replace ºÎºÐÀ» ÁÙ¿©¼ ´Ù½Ã ¿Ã¸³´Ï´Ù. A = \'¾î¼±¸Àú¼±¸\' listA = A.replace(\'null\',\'\"\"\').replace(\'true\',\'\"true\"\').replace(\'false\',\'\"false\"\') \\ .replace(\'},{\',\'}##{\') \\ .split(\'##\') listSet = [] for item in listA: listSet += [eval(item)] B = \',\'.join(map(lambda x: x[\'optionName1\'], listSet)) \\ + \'\\n\' + \',\'.join(map(lambda x: x[\'optionName2\'], listSet)) \\ + \'\\n\' + \',\'.join(map(lambda x: x[\'optionName3\'], listSet)) \\ + \'\\n\' + \',\'.join(map(lambda x: x[\'optionName4\'], listSet)) \\ + \'\\n\' + \',\'.join(map(lambda x: x[\'optionName5\'], listSet)) print B |
0
0
·¹ºñ¿À»ç
°¨»çÇÕ´Ï´Ù µÎºÐÀÌ Àß ¾Ë·ÁÁּż ÇØ°á µÇ¾ú½À´Ï´Ù!
|
|
|
¡â ÀÌÀü±Û¡ä ´ÙÀ½±Û | ¸ñ·Ïº¸±â |
Âü°íÇϼ¼¿ä...
import re
data = \'\'\'
A=\'{\"id\":2977421695,\"usable\":true,\"stockQuantity\":98,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"Red\",\"optionName2\":\"S\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":0,\"optionType\":null,\"optionName\":\"S\"},
{\"id\":2977421699,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"Red\",\"optionName2\":\"M\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":1,\"optionType\":null,\"optionName\":\"M\"},
{\"id\":2977421700,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"Red\",\"optionName2\":\"L\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":2,\"optionType\":null,\"optionName\":\"L\"},
{\"id\":2977421702,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"Red\",\"optionName2\":\"XL\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":3,\"optionType\":null,\"optionName\":\"XL\"},
{\"id\":2977421704,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"White\",\"optionName2\":\"S\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":4,\"optionType\":null,\"optionName\":\"S\"},
{\"id\":2977421706,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"White\",\"optionName2\":\"M\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":5,\"optionType\":null,\"optionName\":\"M\"},
{\"id\":2977421708,\"usable\":true,\"stockQuantity\":99,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"White\",\"optionName2\":\"L\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":6,\"optionType\":null,\"optionName\":\"L\"},
{\"id\":2977421709,\"usable\":true,\"stockQuantity\":98,\"price\":0,\"sellerManagerCode\":null,\"optionName1\":\"White\",\"optionName2\":\"XL\",\"optionName3\":null,\"optionName4\":null,\"optionName5\":null,\"regOrder\":7,\"optionType\":null,\"optionName\":\"XL\"}\'
\'\'\'
p = re.compile(\'\\{.*\\}\', re.MULTILINE)
pp = re.compile(\'\"(.*?)\"\\:(.*)\')
list = []
for item in p.finditer(data):
dic = {}
g = item.group(0)
for s in g.split(\',\'):
for sitem in pp.finditer(s):
k = sitem.group(1).replace(\'\\\"\', \'\')
v = sitem.group(2).replace(\'\\\"\', \'\')
if v == \'null\': v = None
dic[k] = v
list.append(dic)
opt1 = []
opt2 = []
for d in list:
opt1.append(d[\'optionName1\'])
opt2.append(d[\'optionName2\'])
str = \',\'.join(str(e) for e in opt1) + \'\\n\' + \',\'.join(str(e) for e in opt2)
print str