我在网上搜索如何粘贴图像(不是url到csv),但没有一个好的答案给我。
Want to do like at image below
现在使用这样的方法:
data = []
def scrape_data(iterator):
workbook = xlsxwriter.Workbook('1.xlsx')
worksheet = workbook.add_worksheet()
for i in iterator:
url = f'https://kream.co.kr/api/p/tabs/all/?cursor={i}&&request_key=7844c102-1f44-4bc5-9d4f-9a5be38b04dd'
r = requests.get(url, headers=headers,cookies=cookies)
data_json = r.json()
print(f'Page no.{i}')
print(r)
try:
for idx,item in enumerate(data_json['items']):
eng_name = item['product']['release']['name']
orig_name = item['product']['release']['translated_name']
img_url = item['product']['release']['image_urls'][0]
img = Image.open(requests.get(img_url, stream = True).raw)
img.save(f'{i*idx}.png')
worksheet.set_column('F:F', width=50)
worksheet.insert_image(f'F{i*idx}', rf"{i*idx}.png", {'x_scale': 0.1, 'y_scale': 0.1})
model_num = item['product']['release']['style_code']
model_num_w_dash = item['product']['release']['style_code'].replace('-', '')
brand = item['product']['brand']['name']
id = item['product']['release']['id']
links = f'https://kream.co.kr/products/{id}'
data.append([eng_name,orig_name,model_num,model_num_w_dash,brand,links])
except:
continue
workbook.close()
def save(data):
header = ['English Name', 'Original Name','Model Number', 'Model number(without dash)', 'Brand', 'Link']
df = pd.DataFrame(data=data, columns=header)
df.to_csv('example.csv', sep=';', encoding='utf-8')
这个方法有一些错误,看起来不清楚。我有一些空列和错误:用户警告:无法在(-1,5)处插入图像。warn('Cannot insert image at(%d,%d).' %(row,col))我有两个不同的文件:1为图像和1为其他数据,我想所有在一个。
谢谢大家!
1条答案
按热度按时间eit6fx6z1#
我不认为pandas支持你正在尝试做的事情,因为它只是用于数字数据。你需要的是xlsxwriter
pip install XlsxWriter
Reference
在保存方法中,如果必须使用excel:
Pandas excel reader,xlsx wirter