Python字符串格式和UUID

2024-09-27 00:13:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图读入CSV数据并将其映射到以下XML结构。在我的第一次尝试中,我使用了%运算符进行字符串格式化,这很有效。在

import pandas as pd
import uuid
df = pd.read_csv('media.csv', sep=',')
def convert_row(row):
   return """<video>
    <videoType fileUID="%s" name="">
        <locationType></locationType>
        <type>%s</type>
        <format>%s</format>
        <year>%s</year>
    </videoType>
</video>""" % (row[0], row[1], row[2], row[3])


print '\n'.join(df.apply(convert_row, axis=1))

但是,我希望用生成的uuid填充fileUID="%s",然后我可以在其他地方引用它。我没办法让这个工作起来。在

我尝试在return语句之前添加u = str(uuid.uuid4()),并更新% (u, row[0], row[1], row[2], row[3])

我得到一个“在字符串格式化期间不是所有参数都转换”错误

所以我尝试使用f字符串格式

^{pr2}$

然后得到另一个错误,声明关于结束语"""的无效语法

我想我的问题是在处理UUID时,哪种字符串格式是最好的选择,我的代码有什么问题?另外,如果我希望在其他生成的xml结构中引用生成的uuid,我将最终创建一个包含多个生成的xml结构内容的xml文件。在

谢谢你的帮助


Tags: csv字符串importconvertdfreturnuuidvideo
1条回答
网友
1楼 · 发布于 2024-09-27 00:13:00

对于@deceze来说,您在显示的代码中缺少一些格式。在

我相信你想要的是这样的东西?在

代码

"""UUID Example."""
import pandas as pd
import uuid

df = pd.read_csv('media.csv', sep=',')


def convert_row(row):
    """Convert Row Example."""
    u = str(uuid.uuid4())
    return """<video>
    <videoType fileUID={} name=\"\">
        <locationType></locationType>
        <type>{}</type>
        <format>{}</format>
        <year>{}</year>
    </videoType>
</video>""".format(u, row[0], row[1], row[2], row[3])

print("\n".join(df.apply(convert_row, axis=1)))

结果

^{pr2}$

Github:Code was added to my Repo.

相关问题 更多 >

    热门问题