You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将pd.Series中的字典转换为字符串?适配API响应转BigQuery

将包含字典的 pandas Series 转换为字符串类型的 Series

针对你需要把DataFrame中存储字典列表的column列转换为字符串类型(用于加载到BigQuery而非STRUCT类型)的需求,这里提供两种实用的解决方法:

方法一:直接使用 astype(str) 强制转换

这是最简单直接的方式,适合快速完成类型转换:

import pandas as pd

dicts = {1: [{"id1":"result1", "name1":"result1"}], 2: [{"id2":"result2", "name2":"result2"}]}
df = pd.DataFrame.from_dict(dicts, orient='index')
df = df.rename(columns={0:'column'})

# 转换为字符串类型
df['column'] = df['column'].astype(str)

# 验证结果
print(df['column'].dtype)
print(df['column'])

转换后的每个元素会以Python的字符串表示形式存储(比如"[{'id1': 'result1', 'name1': 'result1'}]")。

方法二:使用 json.dumps 生成标准JSON字符串

如果需要生成符合JSON规范的字符串(双引号格式,更适配BigQuery的后续处理),可以结合apply和json.dumps:

import pandas as pd
import json

dicts = {1: [{"id1":"result1", "name1":"result1"}], 2: [{"id2":"result2", "name2":"result2"}]}
df = pd.DataFrame.from_dict(dicts, orient='index')
df = df.rename(columns={0:'column'})

# 序列化为标准JSON字符串
df['column'] = df['column'].apply(json.dumps)

# 验证结果
print(df['column'].dtype)
print(df['column'])

这种方式生成的字符串是标准JSON格式(比如"[{\"id1\": \"result1\", \"name1\": \"result1\"}]"),兼容性更强,适合需要后续解析字符串的场景。

两种方法的区别

  • astype(str):操作简便、运行速度快,但生成的是Python风格的字符串(单引号),适合对格式要求不高的场景。
  • json.dumps:生成标准JSON格式字符串,兼容性更好,适合需要严格遵循JSON规范的场景。

内容的提问来源于stack exchange,提问作者Luiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 07:15:12