我的代码:
df = pd.read_xml(
path_or_buffer=PATH,
xpath="//Data",
compression="gzip"
)
我正在使用 Pandas
read_xml()
函数来读取 xml.gz
格式的数据。我正在使用 Pandas 1.3.2
版本。当我尝试读取数据时,Pandas 读取数据错误。
数据如下所示。
colA
和 colB
都应该是字符串。
第一个数据文件:
<Data>
<colA>abc</colA>
<colB>168E3</colB>
</Data>
<Data>
<colA>def</colA>
</Data>
第二个数据文件:
<Data>
<colA>ghi</colA>
<colB>23456</colB>
</Data>
<Data>
<colA>jkl</colA>
</Data>
当我使用
read_xml()
功能时,如下所示:
第一个数据框:
colA: abc, def
colB: 168000.0, None
第二个数据框:
colA: ghi, jkl
colB: 23456.0, None
我想以
string
格式读取数据,但 pandas dtype
中没有 1.3.2
参数。我想知道:
请注意,我只能使用这个 Pandas 版本,无法更新。
我不知道如何设置读取选项,但你可以这样做:
df = pd.read_xml(file, xpath=".//Data" )
print(df.dtypes)
print()
df_fcol = df.astype({'colB': str})
print(df_fcol.dtypes)
输出:
colA object
colB float64
dtype: object
colA object
colB object
dtype: object