1

我正在使用以下行从 python 脚本创建一个 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)

一切正常,直到我用 Excel 打开文件,因为它在一列中打开了整个文本。这是 csv 中的一行的样子:

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

有什么方法可以打开按列拆分的文件应该如何?问候。

4

3 回答 3

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.

在此处输入图像描述

您可能需要使用以下方法之一检查您是否在区域设置中配置了正确的列表分隔符:

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

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

在此处输入图像描述

于 2012-05-15T09:21:16.723 回答
2

要让 Excel 自动解析您的 .CSV 并将其拆分为列,而无需您这样做或询问,您的分隔符将需要与您可以在下面找到的区域设置分隔符匹配

Control Panel -> Region & Language -> Additional Settings -> List Seperator

这需要与您在 .CSV 文件中使用的列分隔符相匹配,以便 Excel 正确打开和拆分列。

于 2012-05-15T09:38:03.170 回答
0

CSV 的第一行应该是:

sep=,

这样,您就可以对 Excel 自动使用“,”来分隔内容。

于 2016-09-22T05:16:39.207 回答