Python dynamodb管道对象到数据帧

Python dynamodb管道对象到数据帧,python,json,csv,amazon-web-services,amazon-s3,Python,Json,Csv,Amazon Web Services,Amazon S3,我真的很难弄清楚如何将我的数据库值从AWS Dynamodb移动到熊猫数据帧。我的数据不是很大(100000行)。为了简单起见,我将数据输入s3,然后将其下载。我尝试使用boto3和S3Fs将数据放入pandas帧,但没有成功,因此目前我已放弃在创建到S3的管道后直接下载文件。输出采用以下格式,pd.read_JSON、pd.read_csv和pd.read_table似乎无法理解这些格式 {"id":{"s":"3115136104"},"created":{"s":"Wed Mar 25

我真的很难弄清楚如何将我的数据库值从AWS Dynamodb移动到熊猫数据帧。我的数据不是很大(100000行)。为了简单起见,我将数据输入s3,然后将其下载。我尝试使用boto3和S3Fs将数据放入pandas帧,但没有成功,因此目前我已放弃在创建到S3的管道后直接下载文件。输出采用以下格式,pd.read_JSON、pd.read_csv和pd.read_table似乎无法理解这些格式

 {"id":{"s":"3115136104"},"created":{"s":"Wed Mar 25 15:15:35 +0000 2015"},"location":{"s":"Dover, Kent"},"description":{"s":"#TrafficandWeather information from the #PortofDover - follow for regular round the clock updates. NOTE: we are not always able to respond to queries"},"friends_count":{"n":"66"},"name":{"s":"Port of Dover Travel"},"URL":{"s":"doverport.co.uk/weather/"},"statuses_count":{"n":"11062"},"lang":{"s":"en"},"followers_count":{"n":"11517"}}
这显然是一种JSON格式,但因为它将每个行项目分解成一个没有键的字典。我完全搞不懂如何让熊猫读到这篇文章


因此,我的问题是,假设存在一些空值,将整个dynamodb表放入Pandas中的最简单方法是什么?请注意,我尝试了许多不同的方法,但没有在任何方向上获得坚实的前进运动,这就是为什么我没有包含任何通用代码的原因

我自己已经回答了这个问题

columns = ['id', 'created', 'description', 'followers_count', 'friends_count', 'lang', 'location', 'name', 'statuses_count', 'URL']
df = pd.DataFrame()
with open(r'C:\dynamodb-in-s3-file-that-was-downloaded') as s3:
    for item in s3:
        newdf = pd.read_json(item)
        newdf.fillna(method='ffill', inplace=True)
        newdf = newdf.loc['s']
        df = df.append(newdf, ignore_index=True)