Chr*_*son 3 python utf-8 pandas
我有一个df由100行和24列组成的。列类型是字符串。当我尝试将数据框追加到KDB时,抛出了以下错误
UnicodeEncodeError: 'ascii' codec can't encode character '\xd3' in position 9: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
这是我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
Run Code Online (Sandbox Code Playgroud)
我的问题是,有没有一种简单的方法可以将我转换df为utf-8格式?
可能像 df = df.encode('utf-8')
谢谢
这取决于您如何输出数据。如果您只是使用csv文件,然后将其导入到KDB,则可以轻松地指定该文件:
df.to_csv('df_output.csv', encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)
或者,您可以在将数据最初导入到Pandas时使用相同的语法来设置编码。
如果您使用SQLAlchemy或类似方法直接连接到KDB,则应尝试在连接本身中指定它-请参见此问题:在MySQL中使用pandas方法to_sql时,另一个UnicodeEncodeError
| 归档时间: |
|
| 查看次数: |
8057 次 |
| 最近记录: |