我有一个由100行24列组成的df
。列类型为string。当我试图将数据帧附加到KDB时,它会抛出以下错误
UnicodeEncodeError: 'ascii' codec can't encode character '\xd3' in position 9: ordinal not in range(128)
这是我的df中第一行的一个例子。
AnnouncementDate AuctionDate BBT \
_id
00000067 2012-12-11T00:00:00.000+00:00 NaN FHLB
CouponDividendRate DaysToSettle \
_id
00000067 0.61 1
Description \
_id
00000067 FHLB 0.61 12/28/16
FirstSettlementDate ISN IsAgency IsWhenIssued \
_id
00000067 2012-12-28T00:00:00.000+00:00 US313381K796 True False
... OnTheRunTreasury OperationalIndicator \
_id ...
00000067 ... NaN False
OriginalAmountOfPrincipal OriginalMaturityDate \
_id
00000067 13000000.0 NaN
PrincipalAmountOutstanding SCSP SMCP \
_id
00000067 0.0 313381K79 76000000
SecurityTypeLevel1 SecurityTypeLevel2 TCK
_id
00000067 US-DOMESTIC NaN NaN
我的问题是,有没有一种简单的方法可以将我的df
转换为utf-8格式?
可能像df = df.encode('utf-8')
谢谢
这取决于你如何输出数据。如果您只是使用csv文件,然后将其导入KDB,那么您可以很容易地指定:
或者,可以在最初将数据导入熊猫时使用相同的语法设置编码。
如果您使用SQLAlchemy或类似的方法直接连接到KDB,那么应该尝试在连接本身中指定它-请参见以下问题:Another UnicodeEncodeError when using pandas method to_sql with MySQL
相关问题 更多 >
编程相关推荐