【发布时间】:2021-10-19 17:34:13
【问题描述】:
我正在尝试从数据库中获取数据,将它们放入数据框中并将它们加载到 AWS S3。
对于包含 None 值的字段,这些值将作为 None 加载到 S3。我希望 VARCHAR 字段中的 None 为 NULL 或空白,INT 字段中的 None 为 0 或空白。
connection = pyodbc.connect(conn)
sql = 'SELECT id, name from table_a'
df = pd.read_sql_query(sql, connection)
df=df.applymap(str)
csv_buffer = BytesIO()
s3 = boto3.resource('s3')
with gzip.GzipFile(mode='w', fileobj=csv_buffer) as zipped_file:
df.to_csv(TextIOWrapper(zipped_file, 'utf8'), index=False)
s3.Object(bucket[env],dest_filename).put(Body=csv_buffer.getvalue())
print(df) 时我得到的输出是 -
| ID | NAME |
|---|---|
| 1 | None |
| None | John |
我希望将数据框加载到 S3,如下所示 -
| ID | NAME |
|---|---|
| 1 | |
| John |
我该如何处理这种情况?
【问题讨论】:
标签: python pandas dataframe amazon-s3