如何使用Python将德语变音符号导出到excel文件中

时间:2017-01-31 14:05:50

标签: python python-2.7 csv export-to-excel export-to-csv

我有以下问题,但我还没有找到解决方案。 我正在使用Python 2.7,我喜欢将Pandas系列导出到带有变音符号的excel文件中(“ä”,“ü”,“ü”)

e.g。对于Python 2.7:

#Python 2.7###############

# -*- coding: iso-8859-15 -*-

import pandas as pd
import csv
city = ['München', 'Nürnberg', 'Würzburg']
result = pd.Series(city)
result.to_csv(result.to_csv('Umlauts.csv', sep= ',' , encoding='iso-8859-15')

如果我用Excel打开它,它只适用于csv,即使结果在同一行和列中

0,München
1,Nürnberg
2,Würzburg

问题: 将此Series系列导出到Excel表格(如

)的解决方案是什么?
A1 | A2
1  |  München
2  |  Nürnberg
3  |  Würzburg

我可以转移此解决方案来创建名为'München.xls'的文件吗?

感谢您的帮助!

最佳

3 个答案:

答案 0 :(得分:1)

Panads DataFrame.to_csv不支持方言参数。您必须使用支持excel方言的csv模块。

声明

Excel存在csv问题。使用UTF-8编码编写csv,并在文件内容前添加utf8 bom b"\0xEF\0xBB\0xBF"。 Excel会很好地读取这个文件。

无论其

Excel 无法使用utf8编码保存 csv文件。即使你打开一个utf8 csv,然后按下保存而没有修改,excel会在iso-8859-15中对其进行重新编码,并插入? - s,其中unicode字符无法编码。

换句话说:使用excel编辑csv文件会导致数据丢失大部分时间!

答案 1 :(得分:1)

您应该覆盖sys次设置并使用pandas.DataFrame.to_excel()

# Import modules
import sys
reload(sys)
sys.setdefaultencoding('UTF8')
import pandas as pd

# Your code
city = ['München', 'Nürnberg', 'Würzburg']
result = pd.Series(city)

# Transform Series to DataFrame in order to use to_excel()
d = result.to_frame()

# Specify writer
writer = pd.ExcelWriter('output.xlsx', options={'encoding':'utf-8'})

# Write the frame to excel
d.to_excel(writer,'Sheet1')

# Save the file
writer.save()

这应该有用。

答案 2 :(得分:0)

根据hereherehere的规定,导出到xls时可以使用其他引擎。
当其他解决方案不起作用时,这对我有用:

  1. 安装xlsxwriter pip install XlsxWriter
  2. 导入import xlsxwriter
  3. 使用此引擎代替默认引擎
from pandas import ExcelWriter
writer = pd.ExcelWriter('file.xlsx', engine='xlsxwriter')
df.to_excel(writer,'Sheet1')
writer.save()

其中df是您要导出的数据框。