Как мне заставить Excel импортировать мой файл CSV ?
файл
У меня есть файл, претендующий на звание CSV. Он содержит 10 полей, все из которых заключены в двойные кавычки (да, даже даты и цифры). 2 или 3 из этих полей содержат запятые . Но данные в этих полях также заключены в кавычки.
проблема
Когда я пытаюсь открыть этот файл, Excel полностью игнорирует кавычки и предполагает, что они являются частью данных.
Поэтому он разбивает поля, содержащие запятые, на несколько столбцов.
Это плохо, по крайней мере для меня.
Пример данных
"20051", "", "2009 Sep 30 02:53:23", "SOMETEXT", "", "5000", "2000000", "2008 - 99999 - -99999, 2008 - unk - unk", "191 - SOMETEXT - SOMETEXT, 192 - SOMETEXT - SOMETEXT, 193 - SOMETEXT - SOMETEXT, 194 - SOMETEXT - SOMETEXT, 195 - SOMETEXT - СОМЕТЕКСТ, 196 - SOMETEXT - СОМЕТЕКСТ, - 46 - SOMETEXT, 140 СОМЕКСТОВ, СОМЕТЕКСТ - SOMETEXT - SOMETEXT, 141 - SOMETEXT - SOMETEXT " "20052", "SOMETEXT", "2009 Sep 08 07:56:50", "SOMETEXT", "", "50000", "5000000", "2007 - 99999 - 99999", "146 - SOMETEXT - SOMETEXT, 145 - SOMETEXT - SOMETEXT, 147 - SOMETEXT - SOMETEXT, 148 - SOMETEXT - SOMETEXT "," 103 - SOMETEXT - SOMETEXT, 1131 - SOMETEXT - SOMETEXT "
Что я пробовал?
Я использовал средство импорта для указания разделителей и тому подобного, но это, похоже, не помогает.
Я попытался переключить «Разделитель текста» с двойной кавычки на «{нет}» и обратно. Похоже, это влияет только на первый столбец. Это было бы разумно, если бы можно было щелкнуть другие столбцы и применить этот параметр к каждому. Но это не так, и похоже, что он предназначен для работы через столбцы.
Что еще я могу попробовать?
источник
Ответы:
Я только что попробовал быстрый тест, который повторил вашу проблему.
Я создал CSV с 1 строкой в Word (который использует умные кавычки) как test.csv «123», «4,5,6», и он открылся в Excel, как вы описали.
Попробуйте заменить «и» на «
Поиграв с вашим образцом, я замечаю, что Excel не нравится пробелы между полями
например, вместо
ты хочешь
достойная замена регулярного выражения должна быть в состоянии справиться с этим
(символы канала только для визуальных подсказок)
Или просто измените код .Net, если у вас есть к нему доступ ;-)
Кроме того, как указал Арджан , вам также может понадобиться преобразовать файл из UTF-8 в ANSI, чтобы ячейка A1 не содержала спецификацию и окружающие ее квоты.
Я сталкивался с Catch 22 CSV в кодировке ANSI, не обрабатывающей международные символы, и CSV в кодировке UTF, которая не обрабатывается Excel должным образом; и не нашел решения при включении CSV. Если требуется поддержка международных символов, форматы XML (или собственные XLS) кажутся единственным выходом - за счет простоты.
источник
Эта проблема преследует меня уже много лет. Я только что обнаружил решение, и на него ссылаются в ответах выше, но явно не прописано.
Это пробел после запятой!
Это не импортирует в Excel;
Пока
Работает!
источник
Вы также можете попробовать CSVEd, который является бесплатным.
источник
Если вы не случайно используете умные кавычки, как предложили люмбарии , и предполагаете, что используете Windows: это может быть связано с вашими региональными настройками. При двойном щелчке или использовании «Файл» Открыть, Excel не запрашивает никаких подробностей, а просто использует эти настройки.
Тем не менее, ручной вызов функции импорта (как и вы) должен был работать, поэтому я сомневаюсь, что изменение региональных настроек поможет ...
источник
Вы проверили кодировку символов вашего файла? Попробуйте установить кодировку символов в UTF-8.
Вы можете использовать notepad2 для изменения кодировки символов.
источник
Просто добавьте к ответам здесь: сфокусируйтесь на ПРОСТРАНСТВАХ после КОМАС в ваших файлах CSV. Excel не нравится это, если вы указали в своих данных в кавычках поля.
Excel любит (4 столбца данных):
Но не нравится (3 столбца данных):
Это как (3 столбца данных):
источник
Я столкнулся с этой проблемой сегодня и также нашел решение, которое работало для меня.
Моя среда / контекст: у меня есть веб-страница с некоторыми вопросами (формами), которые содержат как двойные кавычки, так и запятые. И вопросы, и ответы извлекаются из базы данных и записываются в файл Excel для целей отчетности.
У меня была та же проблема, описанная выше: вопросы, которые включали в себя как двойные кавычки, так и запятые, были разбиты на несколько столбцов в Excel.
Для моих целей использование двух одинарных кавычек вместо двойных кавычек сделало свое дело.
-> на сайте две одинарные кавычки выглядят как двойная кавычка для посетителей сайта
-> В файле Excel снова две одинарные кавычки выглядят как двойные кавычки для пользователей, просматривающих данные отчета
Я понимаю, что это решение не будет работать для всех, но, надеюсь, оно кому-нибудь поможет.
источник
Я смог сделать это с помощью:
который дает четыре столбца:
источник
Еще один способ сделать это:
Таким образом, вы можете установить правильную кодировку, например UTF-8, которую многие (все?) Версии Excel не могут правильно обрабатывать без спецификации, и вам не нужно беспокоиться о регулярном выражении, которое может заменить некоторый текст внутри поля и ты этого не замечаешь
источник