首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将每个sas数据集转换为熊猫中的数据

将每个sas数据集转换为熊猫中的数据
EN

Stack Overflow用户
提问于 2020-10-07 14:58:12
回答 1查看 294关注 0票数 0

我正在将每个sas数据集从目录列表转换为熊猫中的单个数据

代码语言:javascript
复制
import os
import pandas as pd
import pyreadstat as pyd
os.chdir(r'XX\XX\XX\XXX')

假设默认目录包含sasdatset列表。

代码语言:javascript
复制
aa.sas7bdat
bb.sas7bdat
cc.sas7bdat
dd.sas7bdat
ee.sas7bdat

现在,我正在创建字典,它使用pyd.read_sas7bdat导入到单个数据框架来迭代每个sas数据集。

代码语言:javascript
复制
 ddict={}
    for file in os.listdir():
        if file.endswith(".sas7bdat"):
            name = os.path.splitext(file)[0]
            ddict[name]=pyd.read_sas7bdat(file,metadataonly=False)

但我仍然无法成功与上述代码和请帮助如何实现。我的输出是为每个sasdatasets集创建新的dataframe i,e应该有多个dataframes注意: dataframe应该是没有扩展的sasdatasets集的名称。

例如,

--> sas数据集aa ->要创建为dataframe

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-08 16:45:35

我会这样做:

代码语言:javascript
复制
import os

import pyreadstat as pyd

ddict={}

for file in os.listdir():
    if file.endswith(".sas7bdat"):
        name = os.path.splitext(file)[0]
        df, meta = pyd.read_sas7bdat(file)
        # store the dataframe in a dictionary
        ddict[name]= df
        # alternatively bind to a new variable name
        exec(name + "= df.copy()")

请记住,read_sas7bdat为您提供了数据和元数据对象的元组,而不仅仅是数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64246782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档