Мне нужно конвертировать большое количество файлов Excel ( .xls ) из различных источников в CSV, чтобы я мог легко их проверить в оболочке перед загрузкой в MySQL.Существует стандартный формат для входных файлов, которые могут иметь много рабочих листов.
Я запускаю следующий код для успешного создания файлов CSV:
for a_file in list_of_files:
full_out_path = os.path.join(out_dir, a_file)
data_xls = pd.read_excel(a_file)
data_xls.to_csv(full_out_path, encoding='utf-8')
Вот как выглядят некоторые данные примера:
import pandas as pd
data_xls = pd.read_excel("Adventist Health Clearlake/106171049_CDM_2018.xlsx")
data_xls.head()
St. Helena Hospital Clearlake Unnamed: 1 Unnamed: 2 Unnamed: 3
0 Tax I. D. # 68-0395149 NaN NaN NaN
1 June 2018 Charge Master NaN NaN NaN
2 NaN NaN NaN NaN
3 2018 Charge Codes Charge Codes Description HCPCS Codes June 2018 Prices
4 1255 ROOM/BED: Intensive Care NaN 9077.8
То, что мне нужно, - это несколько строк кода между двумя строками data_xls, которые будут перебирать первые 20 строк или, пока не будет найден, найти шаблон, соответствующий «Описание» (игнорируя регистр) вкаждая строка, и использовать эту строку в качестве строки заголовка для вывода CSV и пропустить экспорт любых строк до строки «заголовка» из ввода?
В приведенном выше примере я хочу, чтобы строка заголовка CSV былаустановить как «4» (поскольку первый не является правильным), потому что четвертая строка содержит ключевое слово «Описание».Данные для захвата будут в следующих строках.
Есть идеи?