小编dar*_*rse的帖子

Python - TypeError:'int64'类型的对象不是JSON可序列化的

我有一个Dataframe存储商店名称和每日销售数量.我试图使用下面的Python脚本将其插入Salesforce.但是我收到了一个错误

TypeError:'int64'类型的对象不是JSON可序列化的

下面给出的是Dataframe的视图

Storename,Count
Store A,10
Store B, 12
Store C, 5
Run Code Online (Sandbox Code Playgroud)

我使用以下代码将其插入Salesforce

update_list = []
for i in range((len(store))):
    update_data = {
               'name' :    store['entity_name'].iloc[i],
                'count__c': store['count'].iloc[i] }

    update_list.append(update_data)

sf_data_cursor = sf_datapull.salesforce_login()
sf_data_cursor.bulk.Account.update(update_list)
Run Code Online (Sandbox Code Playgroud)

获取上面最后一行执行的错误.谁能协助解决这个问题.谢谢..

python salesforce pandas

19
推荐指数
8
解决办法
3万
查看次数

Python错误:TypeError:'Timestamp'类型的对象不是JSON可序列化的'

我有一个Dataframe,其时间戳列的类型为'datetime64 [ns]'.当我尝试将其插入Salesforce平台时出现错误' TypeError:类型为'Timestamp'的对象不是JSON可序列化的 '.如何更改此时间戳列以使其正确更新.下面给出的是Dataframe的视图.

Id,Name,Date,Type
1,ProdA,2018-05-18 04:45:08,S
1,ProdB,2018-05-18 02:15:00,S
1,ProdC,2018-05-16 10:20:00,S
Run Code Online (Sandbox Code Playgroud)

这4列中每一列的数据类型:

Id                                     object
Name                                   object
Date                           datetime64[ns]
Type                                   object
dtype: object
Run Code Online (Sandbox Code Playgroud)

谁能帮助解决这个问题.谢谢.

python datetime json pandas

9
推荐指数
1
解决办法
3509
查看次数

Pandas:InvalidIndexError:重新索引仅对具有唯一值的索引对象有效

我有两个数据框,用于存储有关在商店购买的产品的数据。df1存储有关商店名称、产品 ID、产品名称和购买日期的数据。df2存储有关产品 ID、产品名称和类型的数据。我正在尝试df2使用收到日期值进行更新df1,但仅限于类型为 的产品P

下面给出的是数据框的视图以及我尝试做的事情。

df1

StoreName,ProdId,ProdName,DateReceived
Store A,P1,Prod1,2018-05-01
Store A,P2,Prod2,2018-05-02
Store B,P1,Prod1,2018-05-04
Run Code Online (Sandbox Code Playgroud)

df2

DateRecived,ProdId,ProdName,Type

,P1,Prod1,P
,P2,Prod2,P
,P3,Prod3,S
Run Code Online (Sandbox Code Playgroud)

脚本:

df2['DateRecived'] = df2['ProdId'].map(df1.set_index('ProdId')['StoreName']).df2['Type'] == 'P'
Run Code Online (Sandbox Code Playgroud)

运行此命令会引发以下错误:

InvalidIndexError: Reindexing only valid with uniquely valued Index objects
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我修改脚本,以便我能够通过Store Name和过滤出值Prod Namedf2填充该DateReceived值。谢谢。

python dataframe pandas

6
推荐指数
1
解决办法
2万
查看次数

气流-损坏的DAG-超时

我有一个DAG,它执行一个连接到Postgres DB的函数,删除表中的内容,然后插入一个新的数据集。

我正在本地尝试此操作,并且看到尝试运行此操作时,Web服务器需要很长时间才能连接,并且在大多数情况下不会成功。但是,作为连接过程的一部分,它似乎正在从后端执行查询。因为我具有删除功能,所以即使我没有计划脚本或手动启动,我也会看到数据已从表中删除(基本上是执行了其中一个功能)。有人可以建议我在这方面做错什么。

在用户界面中弹出的一个错误是

DAG损坏:[/ Users / user / airflow / dags / dwh_sample23.py]超时

还可以在UI的dag ID旁边看到一个i,表示Web服务器的DAG对象中没有DAG。 下面给出的是我正在使用的代码:

## Third party Library Imports
import pandas as pd
import psycopg2
import airflow
from airflow import DAG
from airflow.operators import BashOperator
from datetime import datetime, timedelta
from sqlalchemy import create_engine
import io


# Following are defaults which can be overridden later on
default_args = {
'owner': 'admin',
'depends_on_past': False,
'start_date': datetime(2018, 5, 21),
'retries': 1,
'retry_delay': timedelta(minutes=1),
}

dag = DAG('dwh_sample23', default_args=default_args) …
Run Code Online (Sandbox Code Playgroud)

airflow airflow-scheduler

5
推荐指数
1
解决办法
5508
查看次数

pandas.errors.ParserError:错误可能是由于使用多字符分隔符时忽略了引号

当我尝试使用 Pandas 读取 csv 文件时出现 ParserError。下面给出的是错误和引发此错误的数据集。

pandas.errors.ParserError: Expected 10 fields in line 8, saw 11. Error could possibly be due to quotes being ignored when a multi-char delimiter is used.
Run Code Online (Sandbox Code Playgroud)

下面给出的是有这个错误的第 8 行

10/29/18 10:20,85505306,    Scott,20181029102023-file.csv,  22.49,-12.18,CITY,,12:15.0,51:00.0,ABCD,9898,320,D231
Run Code Online (Sandbox Code Playgroud)

我正在使用以下命令读取 csv:

df.to_csv('file.csv'), index = False)
Run Code Online (Sandbox Code Playgroud)

csv 文件的示例输出:

File_Received_Time  Label1  City    FileName    Label2  Label3  State   Unnamed: 12 cTimestamp  dTimestamp  Label4  Label5  Label6  Label7  Label8
10/29/18 10:20  56776   Paris   file1.csv   29  29  IL      29-10-2018 04:11:11     COL06   620 398 516 451
10/29/18 10:20  46069   Hongkong …
Run Code Online (Sandbox Code Playgroud)

python csv parsing pandas

5
推荐指数
3
解决办法
2万
查看次数

气流-定义xcom_push函数的键,值

我试图在Airflow中传递Python函数。我不确定xcom_push函数的键和值应该是什么。任何人都可以在这方面提供协助。谢谢

def db_log(**context):
  db_con = psycopg2.connect(" dbname = 'name' user = 'user' password = 'pass' host = 'host' port = '5439' sslmode = 'require' ")
  task_instance = context['task_instance']
  task_instance.xcom_push(key=db_con, value = db_log)
  return (db_con)
Run Code Online (Sandbox Code Playgroud)

任何人都可以协助获得xcom_push函数的正确键和值。谢谢..

airflow

4
推荐指数
1
解决办法
2835
查看次数

Airflow - 尝试执行一组 Python 函数

我正在尝试执行一个包含几个 Python 函数的 Airflow 脚本。这些函数基本上查询数据库并执行很少的任务。我正在尝试执行这是 Airflow 以便我能够分别监控这些功能中的每一个。下面给出的是我试图执行的代码并得到以下错误

子任务:NameError:未定义名称“task_instance”

## Third party Library Imports

import psycopg2
import airflow
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime, timedelta
from sqlalchemy import create_engine
import io


# Following are defaults which can be overridden later on
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2018, 1, 23, 12),
'email': ['airflow@airflow.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}

dag = DAG('sample_dag', default_args=default_args, catchup=False, schedule_interval="@once")


#######################
## Login to DB …
Run Code Online (Sandbox Code Playgroud)

apache airflow airflow-scheduler

1
推荐指数
1
解决办法
5478
查看次数

Amazon Redshift - 如何提取上个月的数据

我正在尝试自动化在每个月初运行的报告,以查询上个月的所有销售额。下面给出的是我正在使用的查询,但它返回空值。谁能帮助我解决我在这里做错的事情。

我正在使用 Amazon Redshift

select created_at,sale_id from billing 
where to_char(created_at,'yyyy-mm') = EXTRACT(month FROM CURRENT_DATE - '1 month'::interval);
Run Code Online (Sandbox Code Playgroud)

谢谢。

sql amazon-redshift

0
推荐指数
1
解决办法
2619
查看次数

Redshift - 过滤掉行中没有逗号的值

我有一个包含逗号(,)值的列.我试图过滤掉没有逗号的行.

下面给出了我的数据集的示例视图

id,name,product_list
1,kevin,prod_a
2,scott,prod_b,prod_c
3,tim,prod_a
4,julie,prod_a,prod_e
Run Code Online (Sandbox Code Playgroud)

我期望SQL只返回id(1,3),因为它们在product_list列中没有逗号.任何人都可以帮助我如何过滤上述数据集.

我正在使用Redshift DB.

sql amazon-redshift

0
推荐指数
1
解决办法
37
查看次数