python - 如何创建动态数据框
问题描述
我试图创建一个数据框,我以以下方式创建数据框的原因是使其动态,但表达式作为字符串传递,并且 exec 命令无法创建数据框并分配到一个变量。
这是我的代码:
def fileReader(inputFileType,sourceFilePath,inputFileType):
value ='true'
header='header'
a= "spark.read.option('"+header+"','"+value+"')."+inputFileType+"('"+sourceFilePath+"')"
print(a)
print(type(a))
ds = exec(a)
return 'True'
解决方案
您可以尝试使用如下配置文件
import json
files = json.loads('{
"fileA": {
"header": "true",
"inputFileType": "csv",
"sourceFilePath": "path_to_fileA"
},
"fileB": {
"header": "true",
"inputFileType": "parquet",
"sourceFilePath": "path_to_fileB"
}
}')
df_dict = {}
for file in files:
df_dict['file'] = spark.read.option('header',file["header"]).format(file["inputFileType"]).path(file["sourceFilePath"])
然后,您将获得具有不同格式和文件路径的数据框字典。
推荐阅读
- wordpress - How do I assign this code to show only on specific categories?
- angular - Datatable component in Angular 7 problem with responsiveness when fetch data from backend
- javascript - 如何在 Firefox 浏览器中使用 offsetX 和 offsetY 在 svg 内移动一个圆圈?
- dynamic-programming - 归纳证明背包递归返回最优解
- javascript - xhttp.open() onreadystatechange 在 send() 之后没有发出警报就不会触发
- flyway - flyway clean drop 多个用户/模式
- python - 如何从熊猫数据透视表中的样式(子集)中排除总行(边距)
- javascript - 在我的 ftp 上上传后,设备方向不起作用
- wix - 组件规则问题:在现有应用程序旁边安装依赖版本的插件文件
- java - 可以在 Runtime.exec() 中传递的最大参数数是多少?