首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法使用pandas、python更新数据帧中的值

无法使用pandas、python更新数据帧中的值
EN

Stack Overflow用户
提问于 2020-09-25 15:54:13
回答 1查看 96关注 0票数 0

我正在尝试使用python中的pandas库来更新csv文件中名为'Stock','Regular Price','Sale price‘的列。用于更新csv的值是从网站提取的。我使用selenium登录网站并输入所需的页面,BeautifulSoup解析页面,json从解析后的网页中提取特定值。我已经成功地提取了所需的数据,但我无法用提取的values...please help.there is no traceback或任何错误来更新csv文件,而且,程序成功地生成了csv文件而没有任何更改:(

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

其他代码行存在于两者之间

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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")
EN

回答 1

Stack Overflow用户

发布于 2020-09-27 07:14:22

愚蠢的我,我解决了problem.it是一个愚蠢的错误。csv在循环中被读取为df1;使用未更新的csv更新和重新定义了df1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64067485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文