【发布时间】:2020-07-05 19:12:03
【问题描述】:
我对 Python 非常陌生。我使用 csv 文件创建了一个 DataFrame。我的文件是一个复杂的嵌套 json 文件,具有最低粒度级别的标题值。
【示例】df.columns = [ID1, fullID2, total.count, total.value, seedValue.id, seedValue.value1, seedValue.value2, seedValue.largeFile.id, seedValue.largeFile.value1, seedValue.largeFile.value2......]
要求:我必须使用粒度和 ID1、fullID2 的每个列创建多个较小的 csv。
我认为我的方法是:通过拆分标题值来保存较小的切片。
问题1:无法正确拆分值或遍历到第一个位置进行比较。
[例子]
我正在使用df.columns.str.split('.').tolist()。假设我得到下面列出的值,我想将 id 的 seedValue 与 value1 的 seedValue 进行比较,并将整个部分作为新的 df 提取出来。
{['seedValue','id'],['seedValue'.'value1'], ['seedValue'.'value2']}
问题 2:将 ID1 和 fullID2 添加到这个新的 df。
实现这一目标的任何帮助或指导都会非常有帮助! [最终输出]
df.columns = [ID1, fullID2, total.count, total.value, seedValue.id, seedValue.value1, seedValue.value2, seedValue.largeFile.id, seedValue.largeFile.value1, seedValue.largeFile.value2......]
post-processing the file -
seedValue.columns = ID1,fullID2,id,value1,value2
total.columns = ID1,fullID2,count,value
seedValue.largeFile.columns = ID1,fullID2,id,value1,value2
【问题讨论】:
标签: python-3.x pandas google-bigquery