<分区> 分区>
我有一组文件要导入 MySQL。
每个 CSV 文件如下所示:
Header1;Header2;Header3;Header4;Header5
Data1;Data2;Data3;Data4;Data5;
Data1;Data2;Data3;Data4;Data5;
Data1;Data2;Data3;Data4;Data5;
Data1;Data2;Data3;Data4;Data5;
数据可能包含空格、句点或完整的冒号。它们绝对不会包含分号,因此分号是有效的分隔符。它们也不包含\n 或任何其他换行符。
示例数据
2010.08.30 18:34:59
0.7508
String of characters with spaces in them
每个文件都有一个唯一的名称。名称均符合以下模式:
Token1_Token2_Token3.csv
我有兴趣将大量这些 CSV 文件(大约几百个)合并到一个 CSV 文件中。文件的范围可以从 10KB 到 400MB。最后,我想将它发送到 MySQL。不要担心摆脱单独的标题行;我可以在 MySQL 中轻松做到这一点。
我希望最终的 CSV 文件看起来像这样:
Header1,Header2,Header3,Header4,Header5,FileName
Data1,Data2,Data3,Data4,Data5,Token1
Data1,Data2,Data3,Data4,Data5,Token1
Data1,Data2,Data3,Data4,Data5,Token1
Data1,Data2,Data3,Data4,Data5,Token1
Data1,Data2,Data3,Data4,Data5,Token1
我不关心任何其他标记。如果解决方案只是将每个 csv 文件名转储到 Token1 字段中,我也可以活下来,因为我可以再次轻松地在 MySQL 中解析它。
请帮帮我!我花了 10 多个小时来解决一个应该相对容易的问题。
可用技术:
awk
窗口批处理
Linux 庆典
电源外壳
Perl
python
PHP
mysql导入
这是一个服务器盒子,所以我无法编译任何东西,但如果你给我一个 Java 解决方案,我一定会尝试在盒子上运行它。
