2012-05-15 161 views
1

我创建从一个Python脚本的CSV文件与该行:直到我打开与Excel文件,因为它打开了一列的全部文本CSV文件创建问题

def createFile(): 
    logfile = csv.writer(open('logfile.csv', 'wb'), dialect='excel') 
    formater = zip(dates, hours, threadids, loglevels, errorcodes, errormessage) 
    for i in formater: 
     logfile.writerow(i) 

,一切工作正常。这是从CSV一行的样子:

4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 

有什么办法打开列分裂就应该是这样的文件? 此致敬礼。

回答

2

我在foo.csv中保存了以下内容,并在Excel中打开。

4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 
4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 
4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 
4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 
4/29/12,22:44:32:865 EDT,0000004b,A,CHFW0019I,The Transport Channel Service has started chain chain_308. 

enter image description here

你可能要检查,如果你有使用以下的一个在您的区域设置配置正确的列表分隔符:

  1. Windows开始按钮>控制面板>区域和语言选项>区域选项>自定义>列表分隔符。
  2. Windows开始按钮>控制面板>区域和语言选项>格式>其他设置>列表分隔符。

请注意,您也可以启动“区域和语言选项”使用命令intl.cpl,即按Windows + R键,输入intl.cpl,然后按“确定”按钮。

enter image description here

+0

我试着手动创建一个文件,它也不起作用。您的Excel是否创建了自定义设置?我的意思是,如果默认情况下它将逗号作为分隔符。顺便说一句...我使用Excel 2010,也许它是不同的。 – Nucklear

+0

我使用的是Microsoft Office Excel 2003以及Microsoft Office Excel 2007.截图来自前者。不,它们不是自定义设置。您使用的是哪个版本的Microsoft Windows? –

+0

@Nucklear我编辑了我的回复,告诉您如何为您的系统找到列表分隔符设置。 –

2

为了让Excel将自动解析您的.csv和它拆分成多列没有你要么做,或者问你的分隔符将需要匹配您的区域设置分隔符,你可以

Control Panel -> Region & Language -> Additional Settings -> List Seperator下找到

而且这需要与Excel的.CSV文件中使用的列分隔符匹配,才能正确打开和拆分列。

+0

谢谢,它的工作。问题在于西班牙语lang使用;作为分隔符。 – Nucklear

0

您的CSV的第一行应该是:

sep=, 

这种方式你说的到Excel通过划定内容“”自动。