2015-09-14 285 views
2

#NAME错误我有一个DF,看起来像这样:导出大熊猫CSV结果在CSV

Words 
    +Beverly +Hills 
    +Andrea +Johnson 
    +Football 

导出此使用df,可以到CSV:

df.to_csv('df.csv', index=False) 

然而,因为每个字在它之前有一个'+',excel正在读取这些单元格作为导致#NAME错误的等式。我知道我可以强制'在字符串之前让excel将其读为明文,但是这会导致我不想要的领先'。

有关修复导出错误的建议?

+1

能代替你做:'df.to_excel( 'df.xlsx',指数= FALSE)'? – bernie

+0

'csv'本身并不差,只有Excel的阅读。你可以在文本编辑器或其他软件包中打开文件。您也可以相信导入cvs以文本形式出现,而不是简单地双击文件打开它。 –

+0

嘿@Bernie,我试过了 - 我不断收到这个错误ValueError:此时不支持安装openpyxl。使用> = 1.6.1和<2.0.0。如果我能够解决这个问题,转换会做什么? – user3682157

回答

1

使用to_excel和xlsxwriter引擎可以将DataFrame写入到xlsx文件中,不存在任何问题。也许这很好。但是,使用Excel将xlsx文件转换为cvs格式后,您遇到过同样的问题。

下面是创建XLSX文件的例子:

import pandas as pd 
from pandas import DataFrame 
data = {'Words': ['+Beverly +Hills', '+Andrea +Johnson', '+Football']} 
df = DataFrame(data) 
df 
Out[2]: 
       Words 
0 +Beverly +Hills 
1 +Andrea +Johnson 
2   +Football 

writer = pd.ExcelWriter('df.xlsx', engine='xlsxwriter') 
df.to_excel(writer, sheet_name='Sheet1') 
writer.save() 

# contents of df.xlsx are now 
#  Words 
# 0 +Beverly +Hills 
# 1 +Andrea +Johnson 
# 2 +Football