我正在尝试使用python中的pandas库来更新csv文件中名为'Stock','Regular Price','Sale price‘的列。用于更新csv的值是从网站提取的。我使用selenium登录网站并输入所需的页面,BeautifulSoup解析页面,json从解析后的网页中提取特定值。我已经成功地提取了所需的数据,但我无法用提取的values...please help.there is no traceback或任何错误来更新csv文件,而且,程序成功地生成了csv文件而没有任何更改:(
from selenium import webdriver
from time import sleep
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
from bs4 import BeautifulSoup
import re
from selenium.webdriver.common.keys import Keys
import json
import pandas as pd
from glob import glob
其他代码行存在于两者之间
js=json.loads(reqrdthngs)
for variants in (js[0]["productVariants"]):
k=js[0]["product"]["productName"]
skucde=re.findall("\([Code:]+\s([A-Za-z0-9]+)",k)[0]
df1=pd.read_csv(filename)
df1.loc[(df1['Parent']==skucde)&(df1['Attribute 1 value(s)']==variants["productVariantDescription"]),'Stock']=variants["productVariantQuantity"]
df1.loc[(df1['Parent']==skucde),'Sale price']=df.loc[(df['code']==skucde),'discount']
df1.loc[(df1['Parent']==skucde),'Regular price']=df.loc[(df['code']==skucde),'retail']
df1.to_csv('updated_CSVready_to_import.csv')
print ("Done")
发布于 2020-09-27 07:14:22
愚蠢的我,我解决了problem.it是一个愚蠢的错误。csv在循环中被读取为df1;使用未更新的csv更新和重新定义了df1
df1=pd.read_csv(filename)
js=json.loads(reqrdthngs)
for variants in (js[0]["productVariants"]):
k=js[0]["product"]["productName"]
skucde=re.findall("\([Code:]+\s([A-Za-z0-9]+)",k)[0]
df1.loc[(df1['Parent']==skucde)&(df1['Attribute 1 value(s)']==variants["productVariantDescription"]),'Stock']=variants["productVariantQuantity"]
df1.loc[(df1['Parent']==skucde),'Sale price']=df.loc[(df['code']==skucde),'discount']
df1.loc[(df1['Parent']==skucde),'Regular price']=df.loc[(df['code']==skucde),'retail']
df1.to_csv('updated_CSVready_to_import.csv')
print ("Done")
https://stackoverflow.com/questions/64067485
复制相似问题