簡體   English   中英

使用python將單列csv轉換為多列csv?

[英]converting single column csv into multiple column csv using python?

我在下面給出的代碼會將 API 響應轉換為 CSV 文件,但它將 API 的整個響應轉儲到一個列中,但我需要在不同的列中使用“SKU”、“Category_name”、“price”標題, “特價”、“尺寸”、“優惠”

里面的數據是object,object,float64,float64,object(這是我們不得不提到的大小,事物是它的列表),對象,整個事物都在列表中

import requests
import json
import time
import datetime
from datetime import datetime

my_data = {
"category_ids" : "948",
"limit" : "10000"
}

my_headers = {
  'Content-Type': 'application/json'
}

response = requests.post('https://newapi.zivame.com/api/v1/catalog/list', data=json.dumps(my_data),
                     headers=my_headers)


data = response.json()
products = data.get("data").get("docs")
x=products.get(0)
dataList = []



for product in products:
    valuepack = product.get("valuePackOffers",None)
    offer = []
    if valuepack:
        for v in valuepack:
            offer.append(v.get("display_name",None))
    #ts = datetime.now().timestamp()
    #datatime_data = datetime.fromtimestamp(ts)


    dataList.append([product.get("sku",None), product.get("mainCategoryName",None), product["price"], product["specialPrice"], product.get("sizes",None), offer])

len(dataList)




with open(r'/home/arcod/Downloads/data.json','w') as js:
    json.dump(dataList, js)


#import pandas
#from pandas.io.json import json_normalize
#data1 = json.load('/home/arcod/Downloads/data.json')
#norm_data = pd.DataFrame(json_normalize(data1))
#import os
#os.open(r'/home/arcod/Downloads/test.csv','w')
#norm_data.to_csv('/home/arcod/Downloads/test.csv')

import csv

with open(r'/home/arcod/Downloads/promos_zivame.csv','w') as csvFile:
    writer = csv.writer(csvFile)
    writer.writerows(dataList)


import pandas as pd

dl = pd.read_csv('/home/arcod/Downloads/promos_zivame.csv','wb', delimiter=",", error_bad_lines=False)
dl.dtypes
print(dl.dtypes)
new_dl = pd.DataFrame()

index = 1
for i in range(0, len(dl)):
    new_dl['' + str(index)] = dl[0].iloc[i:i+10].reset_index(drop=True)
    index +=1

print(new_dl)



print('Done')

你的 csv 書寫功能的變化

import csv

with open(r'/home/arcod/Downloads/promos_zivame.csv','w') as csvFile:
    writer = csv.writer(csvFile)
    writer.writerow(('SKU', 'Category_name', 'price', 'specialPrice', 'sizes', 'offers'))
    writer.writerows(dataList)

而不是將dataList保存為 json ,為什么不能將其保存為csv文件。

import pandas as pd
dl = pd.DataFrame(dataList, columns = ['SKU', 'Category_name', 'price', 'specialPrice', 'sizes', 'offers'])
dl.to_csv('/home/arcod/Downloads/promos_zivame.csv')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM