python - BigQuery(数据框)到 XML
问题描述
我正在尝试使用我在此链接中找到的代码通过 python 对 BigQuery 查询进行 XML 导出:Python Pandas Dataframe to XML但我有以下错误,你能帮我解决这个问题吗?
import os
import pandas as pd
from datetime import datetime, timedelta
from google.cloud import bigquery
script_path = "C:\\Keys\\key.json"
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = script_path
client = bigquery.Client(project='project_id')
query_job = client.query("SELECT field1, field2, field3 FROM dataset.table ")
df_bq = query_job.to_dataframe()
def to_xml(df, filename=None, mode='w'):
def row_to_xml(row):
xml = ['<item>']
for i, col_name in enumerate(row.index):
xml.append(' <field name="{0}">{1}</field>'.format(col_name, row.iloc[i]))
xml.append('</item>')
return '\n'.join(xml)
res = '\n'.join(df.apply(row_to_xml, axis=1))
if filename is None:
return res
with open(filename, mode) as f:
f.write(res)
pd.DataFrame.to_xml = to_xml
df.to_xml('test.xml')
----> 1 df.to_xml('table.xml') 中的 NameError Traceback(最近一次调用)
NameError:名称“df”未定义
解决方案
在 line 之前没有df
分配任何变量df.to_xml('test.xml')
。您实际上是从不存在的变量中调用方法。因此,NameError
提示。
推荐阅读
- javascript - webpack 无需捆绑即可加载 AMD 模块
- postgresql - 如何在 Postgres 中存储 Object 数据类型?
- javascript - Amcharts 4获取嵌套数组数据
- react-native - 如何将 AsyncStorage 保存到 react native 中的状态
- javascript - 如何在 Graal.js 中使用自定义 java 类型
- vba - Excel VBA 计数调试
- oracle - 在 Oracle 12c 中向用户授予所有权限
- asp.net-core - 如何在使用 FromBody 的 POST 请求处理程序中获取 json 解析错误详细信息
- zoho - Zoho Creator - 从日历报告中获取日历日期并粘贴到另一个表单中
- android - 刷新时如何阻止选项卡式视图上的片段闪烁?