所以,我的数据是阿里云OSS Bucket中的CSV文件格式。我目前正在执行一个 Python 脚本,其中:
- 我将文件下载到本地计算机中。
- 在我的本地机器上使用 Python 脚本进行更改。
- 将其存储在 AWS 云中。
我必须修改这个方法并在阿里云中安排一个 cron 作业来自动运行这个脚本。Python 脚本会上传到阿里云的任务管理中。
所以新的步骤将是:
- 将 OSS 存储桶中的文件读入 Pandas。
- 修改它 - 将它与其他数据合并,一些列发生变化。- 将在熊猫中完成。
- 将修改后的文件存储到 AWS RDS。
我被困在第一步本身。错误日志:
OSS2 和 pandas 的“未找到模块”。
正确的做法是什么?
这是我的脚本的草稿(关于如何在我的本地机器上执行脚本):
import os,re
import oss2 -- **throws an error. No module found.**
import datetime as dt
import pandas as pd -- **throws an error. No module found.**
import tarfile
import mysql.connector
from datetime import datetime
from itertools import islice
dates = (dt.datetime.now()+dt.timedelta(days=-1)).strftime("%Y%m%d")
def download_file(access_key_id,access_key_secret,endpoint,bucket):
#Authentication
auth = oss2.Auth(access_key_id, access_key_secret)
# Bucket name
bucket = oss2.Bucket(auth, endpoint, bucket)
# Download the file
try:
# List all objects in the fun folder and its subfolders.
for obj in oss2.ObjectIterator(bucket, prefix=dates+'order'):
order_file = obj.key
objectName = order_file.split('/')[1]
df = pd.read_csv(bucket.get_object(order_file)) # to read into pandas
# FUNCTION to modify and upload
print("File downloaded")
except:
print("Pls check!!! File not read")
return objectName