在Google Colab平台用Python实现xpt转csv的代码方案
在Google Colab中实现XPT格式文件转CSV的完整方案
前置准备
- 将需要转换的XPT文件上传至你的Google Drive指定目录(比如示例中的
/content/gdrive/MyDrive/home/) - 在Colab中挂载Google Drive,确保能访问到目标文件:
from google.colab import drive drive.mount('/content/gdrive')
方案1:单个XPT文件转换
直接指定目标文件路径,读取后导出为CSV:
import pandas as pd # 替换为你的文件路径和文件名(无需加.XPT后缀) FILE_PATH = '/content/gdrive/MyDrive/home/' FILE = 'P_DSQTOT' # 读取XPT文件,index=None避免将索引列写入CSV df = pd.read_sas(FILE_PATH + FILE + '.XPT', index=None) # 导出为CSV,指定编码避免乱码 df.to_csv(FILE_PATH + FILE + '.csv', encoding='utf-8', index=False)
方案2:批量转换指定文件夹下所有XPT文件
如果需要一次性转换多个XPT文件,可使用以下代码遍历目录:
import pandas as pd import os # 替换为你的目标文件夹路径 FOLDER_PATH = '/content/gdrive/MyDrive/home/' # 遍历文件夹下所有文件 for filename in os.listdir(FOLDER_PATH): # 筛选出.XPT后缀的文件 if filename.endswith('.XPT'): # 提取文件名(去掉后缀) file_base = filename[:-4] # 读取XPT文件 df = pd.read_sas(os.path.join(FOLDER_PATH, filename), index=None) # 导出为CSV df.to_csv(os.path.join(FOLDER_PATH, file_base + '.csv'), encoding='utf-8', index=False) print(f"已完成转换:{filename} -> {file_base}.csv")
关键说明
pd.read_sas():Pandas内置的SAS文件读取函数,原生支持XPT格式,无需额外安装xport库(若遇特殊格式兼容问题,可尝试用xport库读取后转成DataFrame)index=False:避免将DataFrame的索引列写入CSV文件,保证导出的数据结构更简洁- 指定
encoding='utf-8':防止中文等非ASCII字符出现乱码问题
内容的提问来源于stack exchange,提问作者KISHMA VINOD
相关产品推荐
相关产品推荐

