Python Pandas CSV 导出

7

我有一个问题,需要将一个数据框导出到CSV文件。

数据类型包含字符串和浮点数值,就像这样:

In [19]: segmenti_t0
Out[19]:
SEGM1  SEGM2
AD     P.S.         8.3
       SCREMATO     0.6
CRE    STD          1.2
FUN    INTERO       0.0
       P.S.         2.0
       SCREMATO     0.0
NORM   INTERO      13.1
       P.S.        69.5
       SCREMATO     5.2
Name: Quota volume_t0

我尝试使用以下命令导出此数据框:

IN [20]: segmenti_t0.to_csv('C:Users\MarioRossi\prova.csv', sep=";")

当我尝试使用Excel打开或从csv文件中导入带有格式参数的内容时,浮点值(如69.5000或5.2.0000000)以及日期时间格式都会变得非常奇怪。

NORM    INTERO  13.01
NORM    P.S.    69.05.00
NORM    SCREMATO    5.02

考虑到我使用欧洲格式(将“,”作为小数点,因为我习惯从csv文件导入原始数据),请帮助我:我开发了一款软件(具有GUI等功能),但由于这个原因无法交付!

谢谢。


当使用文本编辑器(例如记事本)打开CSV文件时,它会呈现什么样的格式? - Andy Hayden
AD;P.S.;8.3 AD;SCREMATO;0.6 CRE;STD;1.2 FUN;INTERO;0.0 FUN;P.S.;2.0 FUN;SCREMATO;0.0 NORM;INTERO;13.1 NORM;P.S.;69.5 NORM;SCREMATO;5.2 - Manuel Zompetta
如果我将它从记事本保存并尝试使用Excel打开,我会遇到同样的问题: AD P.S. 8.03 AD SCREMATO 0.06 CRE STD 1.02 FUN INTERO 0.00 FUN P.S. 2.00 FUN SCREMATO 0.00 NORM INTERO 13.01 NORM P.S. 69.05.00 NORM SCREMATO 5.02 - Manuel Zompetta
1个回答

6
你应该使用 DataFrame 方法 to_excel
# first convert Series to DataFrame
df_segmenti_t0 = DataFrame(segmenti_t0)

# save as excel spreadsheet
df_segmenti_t0.to_excel('prova.xls')

ImportError: 找不到名为openpyxl.workbook的模块可能是库没有正确安装?我使用的是Enthought distribution 7.3再次感谢! - Manuel Zompetta
@ManuelZompetta 看起来 openpyxl 不在 Enthought Free 中,你需要单独安装它... - Andy Hayden
现在,如果我从pylab shell导入openpyxl,情况就可以了,但是如果我按照您的指示进行数据框转换,然后执行以下操作:segmenti_t0.to_excel('/Users/manuelzompetta/Desktop/prova.xls'),我会得到以下错误:ImportError: No module named xlwt唉... - Manuel Zompetta
太好了,现在文件已经创建,但是数字以文本格式显示,小数点使用"."而不是","。我认为我需要在openpyxl文档中找到正确的参数来设置小数位... - Manuel Zompetta
如果这个回答有帮助,请点赞并接受它,如果还有其他问题,请另外提问 :) 这些评论变得相当长了! - Andy Hayden
显示剩余9条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接