2012-05-15 2 views
1

Я создаю CSV файл из питона сценария с этой строки: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. 

Есть ли способ, чтобы открыть файл расщепляется в столбцах, как это должно быть? С уважением.

ответ

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. Пуск Кнопка> Панель управления> Региональные и Параметры языка> Региональные параметры> Настроить> Сепаратор списка.
  2. Кнопка запуска Windows> Панель управления> Региональные и языковые параметры> Форматы> Дополнительные параметры> Сепаратор списка.

Обратите внимание, что вы можете также запустить «Язык и региональные стандарты» с помощью команды intl.cpl, т.е. нажмите кнопку Windows + R и введите intl.cpl и нажмите кнопку «OK».

enter image description here

+0

Я попытался создать файл вручную, и он тоже не работает. Создается ли ваша специальная настройка? Я имею в виду, если он по умолчанию использует запятую как разделитель. btw ... Я использую Excel 2010, может быть, это другое. – Nucklear

+0

Я использую Microsoft Office Excel 2003, а также Microsoft Office Excel 2007. Снимок экрана с первого. Нет, они не настраиваются. Какую версию Microsoft Windows вы используете? –

+0

@Nucklear Я отредактировал свой ответ, чтобы рассказать вам, как найти параметр разделителя списков для вашей системы. –

2

Для Excel автоматически разобрать ваш .csv и разделить его на столбцы без тебя либо сделать это, либо с просьбой, ваш разделителем нужно будет соответствовать вашей Locale Разделитель, которые вы можете найти под

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

И это должно соответствовать разделителю столбцов, который вы используете в вашем файле .CSV для Excel, чтобы правильно открыть и разбить столбцы.

+0

Спасибо, это сработало. Проблема в том, что испанский язык использует; как разделители. – Nucklear

0

Первая строка вашего CSV должно быть:

sep=, 

Этот способ ваш говорят в Excel, чтобы разграничить содержание от «» автоматически.

Смежные вопросы