为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Pandas 写入 Excel 时出现意外字符

使用 Pandas 写入 Excel 时出现意外字符

白衣非少年 2022-01-18 17:27:16
我有一个dictionary这样的:film = {    'ID': [],    'Name': [],    'Run Time': [],    'Genre': [],    'link': [],    'name 2': []}然后我将它填充到一个 for 循环中,如下所示:film['ID'].append(film_id)film['Name'].append(film_name)film['Run Time'].append(film_runtime)film['Genre'].append(film_genre)film['link'].append(film_link)film['name 2'].append(film_name2)然后我将字典转换为 Pandas DataFrame,以便将其写入.xlsx文件。现在在我真正写它之前,我打印它来检查Run Time列的值。一切正常:output_df = pd.DataFrame(film).set_index('ID')print(output_df['Run Time'])output:ID102    131103     60104       105       Name: Run Time, dtype: object但是,当我写它时,就像这样:writer = ExcelWriter('output.xlsx')output_df.to_excel(writer, 'فیلم')writer.save()该文件如下所示:如您所见,'文件中有一个额外的(单引号)字符。这个字符是不可见的。但我可以强调一下:如果我删除它,数字变为RTL:所以我认为隐形字符是LTR MARK ( \u200E)。我像这样删除它:film['Run Time'].append(film_runtime.replace('\u200E', ''))但什么也没发生,角色还在。我怎样才能解决这个问题?
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

您需要确保在转换为 .xlsx 文件之前将需要为数字的单元格转换为数字(通常是整数)。

在你的情况下:

film['Run Time'].append(int(film_runtime))


查看完整回答
反对 回复 2022-01-18
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

Excel 中值之前的 ' 强制该值变为字符串。看起来 Excel Writer 将此类列表解释为字符串数组。更改 DataFrame 中的类型应该可以解决它。


查看完整回答
反对 回复 2022-01-18
  • 2 回答
  • 0 关注
  • 401 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号