使用查询将多个 excel 文件摄取到 MySQL
Posted
技术标签:
【中文标题】使用查询将多个 excel 文件摄取到 MySQL【英文标题】:Ingest multiple excel files to MySQL using query 【发布时间】:2020-10-13 17:31:24 【问题描述】:我正在尝试将数据从 excel 文件加载到 mysql 中的表中。 .xlsx 格式的 excel 文件有 400 个。
我已成功将一个文件提取到表中,但问题是涉及手动将 excel 文件转换为 csv 文件,将其保存在某个位置,然后运行查询以使用 LOAD LOCAL INFILE
加载。如何处理其余文件。
如何在文件夹中加载所有 400 个 .xlsx 文件,而不需要手动将它们转换为 .csv 文件,然后对它们逐个运行摄取查询。MySql 中有没有办法做到这一点。例如,遍历所有文件并将它们摄取到表中的任何 FOR 循环。
【问题讨论】:
【参考方案1】:尝试使用 in2csv 将您的 XLSX 批量转换为 CSV,如在 csvkit 中找到的那样。
## single file
in2csv file.xlsx > file.csv
## multiple files
for file in *.xlsx; do in2csv $file > $file.csv; done
然后使用LOAD LOCAL INFILE...
将数据导入MySQL
从加载多个 CSV,使用for file in *.csv; do...
或查看How to Import Multiple csv files into a MySQL Database。
【讨论】:
以上是关于使用查询将多个 excel 文件摄取到 MySQL的主要内容,如果未能解决你的问题,请参考以下文章
使用EasyExcel将MySQL中查询出来的数据下载到Excel文件中