亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有一種方法可以根據xml信息編寫代碼?(Python)

有沒有一種方法可以根據xml信息編寫代碼?(Python)

幕布斯6054654 2023-04-25 15:43:53
我正在嘗試基于 xml 文件自動生成 python 腳本。作為一個簡化的示例,我想將以下 xml(#1) 轉換為下面的 Python 腳本(#2)。#1 Xml 文件(待翻譯)1.xlsx<Code CodeID="1">  <Settings Setting='OpenFile'>  </Settings>  <Properties>    <Configuration>      <FieldInfo>        <Field name="Account" size="255" source="File: 1.xlsx|`Sheet1`" type="V_String" />        <Field name="PY" source="File: 1.xlsx|`Sheet1`" type="Double" />        <Field name="CY" source="File: 1.xlsx|`Sheet1`" type="Double" />      </FieldInfo>    </Configuration>  </Properties></Code>#2 Python 腳本(已翻譯)Import pandas as pdwith pd.ExcelFile('1.xlsx') as xlsx:  df = pd.read_excel(xlsx, 'Sheet1')  df.astype({'Account': 'object', 'PY': 'float64', 'CY': 'float64'}).dtypes我對 Python 和編程還很陌生,我想知道應該從哪里開始。我想我可以搜索和研究有關如何解析 xml 文件等的詳細信息,但我不知道如何自動執行翻譯過程。
查看完整描述

2 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

您可以使用 XSL 將 XML 轉換為文本(例如 python 腳本)。XSL 功能強大但對初學者來說很復雜。


這個簡單的 XSL 示例生成的文本與您作為輸出輸入的內容接近


<xsl:stylesheet version="1.0">

    <xsl:output method="text" indent="yes"/>

    

<xsl:template match="/">

Import pandas as pd

with pd.ExcelFile('1.xlsx') as xlsx:

  df = pd.read_excel(xlsx, 'Sheet1')

  <xsl:for-each select="//Field">

  df.astype({'<xsl:value-of select="@name"/>': 'object',

  </xsl:for-each>

   }).dtypes

</xsl:template>


</xsl:stylesheet>

您需要擴展它以處理所有數據類型和任何其他對象屬性。(例如,將“float64”翻譯為“double”),作為 XSL 解決方案的一部分。但是@AKX 是正確的,您最好使用 XML 來提供隨后在腳本中處理的參數。


查看完整回答
反對 回復 2023-04-25
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

你絕對可以通過解析 XML 創建你自己的生成器,并在你的主腳本中使用 subprocess 模塊運行它。如果您希望制作允許用戶創建自己的宏的用戶界面,您也可以使用塊代碼生成器來完成此類工作。



查看完整回答
反對 回復 2023-04-25
  • 2 回答
  • 0 關注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號