小编pyl*_*ner的帖子

从 Amazon S3 读取仅具有特定名称的文件

我已连接到 Amazon S3,并尝试使用以下代码从多个存储桶中的 JSON 内容中检索数据。

但我必须只读取特定的 JSON 文件,而不是全部。我该怎么做?

代码:

for i in bucket:
    try:
          result = client.list_objects(Bucket=i,Prefix = 'PROCESSED_BY/FILE_JSON', Delimiter='/')
          content_object = s3.Object(i, "PROCESSED_BY/FILE_JSON/?Account.json")
          file_content = content_object.get()['Body'].read().decode('utf-8')
          json_content = json.loads(file_content)
    except KeyError:
          pass
Run Code Online (Sandbox Code Playgroud)

桶结构示例。

test-eob/PROCESSED_BY/FILE_JSON/222-Account.json
test-eob/PROCESSED_BY/FILE_JSON/1212121-Account.json
test-eob/PROCESSED_BY/FILE_JSON/122-multi.json
test-eob/PROCESSED_BY/FILE_JSON/qwqwq-Account.json
test-eob/PROCESSED_BY/FILE_JSON/wqwqw-multi.json
Run Code Online (Sandbox Code Playgroud)

从上面的列表中,我只想读取 *-Account.json 文件。

我怎样才能做到这一点?

python amazon-s3 amazon-web-services

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

根据列找出数据框中的缺失值

有没有办法根据列找出缺失值

例如 :

Field_name                Field_Type     Field_Id
Message type identifier       M              0
Nan                           M              1
Bitmap secondary              C              1
Nan                           C              2
Processing code               M              3
Nan                           M              4
Amount-Settlement             C              5
Run Code Online (Sandbox Code Playgroud)

所以在这里我想知道列 Field_name 中Field_Type = 'M'的缺失值和, Ignoring the missing values inField_Type = 'C'

预期输出:

Field_name   Field_Type  Field_Id
Nan                M    1
Nan                M    4
Run Code Online (Sandbox Code Playgroud)

编辑:我们可以为数据框列表执行此操作吗?

data_list = [df1,df2,df3]


output : result [[missngvalues in df1],[missngvalues in df2],[missngvalues in df3]]
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

仅从多个文件夹的 s3 存储桶中读取特定的 json 文件

我正在尝试滚动 s3 中的所有存储桶,看看是否有匹配的前缀并进入这些文件夹并读取 json 文件。

我试图获取包含前缀的文件夹,但未能输入它们。

代码:

import boto3
bucket = ['test-eob', 'test-eob-images']
client = boto3.client('s3')
for i in bucket:
    result = client.list_objects(Bucket=i,Prefix = 'PROCESSED_BY/FILE_JSON', Delimiter='/')
    print(result)
Run Code Online (Sandbox Code Playgroud)

使用它会得到带有前缀的那些,当存储桶没有该前缀时会失败。

的结构test-eobtest-eob/PROCESSED_BY/FILE_JSON/*.json 如果只有我的前缀匹配,我必须读取 json,否则就从桶里出来。

有人可以帮我从这里出去吗。

python amazon-s3 amazon-web-services

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

在每个 s3 存储桶中搜索并查看给定文件夹是否存在

我正在尝试从 s3 Buckets 中的特定文件夹中获取文件:

我在 s3 中有 4 个存储桶,名称如下:

1 - 'PDF'
2 - 'TXT'
3 - 'PNG'
4 - 'JPG'
Run Code Online (Sandbox Code Playgroud)

所有 s3 存储桶的文件夹结构如下所示:

1- PDF/analysis/pdf-to-img/processed/files
2- TXT/report/processed/files
3- PNG/analysis/reports/png-to-txt/processed/files
4- JPG/jpg-to-txt/empty
Run Code Online (Sandbox Code Playgroud)

我必须检查processed/files存储桶中是否存在此文件夹前缀,如果存在,我将读取这些目录中存在的文件,否则我将忽略它们。


代码:

buckets = ['PDF','TXT','PNG','JPG']

client = boto3.client('s3')
for i in bucket:
    result = client.list_objects(Bucket=i,Prefix = 'processed/files', Delimiter='/')
    print(result)
Run Code Online (Sandbox Code Playgroud)

如果文件夹结构相同,我可以进入每个目录,但是当每个存储桶的文件夹结构不同时,我该如何处理?

python amazon-s3 amazon-web-services python-3.x

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

字典列表中的 Nan 值

我正在尝试打印字典列表中是否有 nan 值,但未能执行此操作。

data = [{'A' : 2, 'B' : 'ssss'}, {'A' : 3, 'B' : 'xxx'}, {'A' :nan, 'B' : 'ssss'}]
Run Code Online (Sandbox Code Playgroud)

代码 :

for x in data:
    if (x['A']== 2):
        print('two')
    elif (x['A']== np.nan)
        print('null')
    else:
        print('nothing')
Run Code Online (Sandbox Code Playgroud)

python numpy

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

用唯一的键和值列表从两列中创建一个字典

我正在尝试创建一个具有唯一键和多个值的字典

DF :

key value
2   21
2   32
2   455
3   12
3   45
3   21
Run Code Online (Sandbox Code Playgroud)

预期输出:

{'2' : ['21', '32', '455'], '3': ['12','45','21']}
Run Code Online (Sandbox Code Playgroud)

代码 :

dict(zip(df['key'], df['value']))
Run Code Online (Sandbox Code Playgroud)

需要一些帮助

python dictionary dataframe pandas

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

从数据框中查找列的唯一组合

在下面的数据集中,我需要找到唯一的序列并为其分配一个序列号..

数据集:

user    age maritalstatus   product
A   Young   married 111
B   young   married 222
C   young   Single  111
D   old single  222
E   old married 111
F   teen    married 222
G   teen    married 555
H   adult   single  444
I   adult   single  333
Run Code Online (Sandbox Code Playgroud)

预期产量:

young   married     0
young   single      1
old     single      2
old     married     3
teen    married     4
adult   single      5
Run Code Online (Sandbox Code Playgroud)

找到上面显示的唯一值后,如果我通过下面的新用户,

user age maritalstatus  
X     young  married 
Run Code Online (Sandbox Code Playgroud)

它应该把产品退给我。

X : [111, 222]
Run Code Online (Sandbox Code Playgroud)

如果没有顺序,如下所示

user     age     maritalstatus  
    Y     adult  married …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

合并字典和列表

我正在尝试将字典和包含字典和空字典的列表结合起来

dict1 = {'a': 1, 'b': 2}
list1 = [{'c': 3}, {'d':4}]
emptydict = {}
emptylist = []
Run Code Online (Sandbox Code Playgroud)

尝试合并并使其成为最终的字典,如下所示。

final = {'a': 1, 'b': 2, 'c': 3, 'd':4}
Run Code Online (Sandbox Code Playgroud)

代码:

final = {**dict1, **list1[0], **list1[1], **emptydict, **emptylist} 
Run Code Online (Sandbox Code Playgroud)

在这里,我不知道 list1 的长度,有人可以建议我比这更好的方法吗?

python dictionary list dataframe python-3.x

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