LVM, как все остальное, является палкой о двух концах.
Относительно производительности LVM препятствует Вам немного, потому что это - другой слой абстракции, которая должна быть разработана перед хитом битов (или может быть считан из), диск. В большинстве ситуаций этот хит производительности будет практически неизмерим.
Преимущества LVM включают то, что можно добавить больше устройства хранения данных к существующим файловым системам, не имея необходимость перемещать данные. Большинство людей как он для этого преимущества.
Один недостаток LVM, используемой этим способом, - то, что, если Ваше дополнительное устройство хранения данных охватывает диски (т.е. включает больше чем один диск) Вы увеличиваете вероятность, что отказ диска будет стоить Вам данных. Если Ваша файловая система охватывает два диска и любого из них сбои, Вы, вероятно, потеряны. Для большинства людей это - приемлемый риск из-за причин пространства по сравнению со стоимостью (т.е. если это будет действительно важно то будет бюджет, чтобы сделать это правильно) - и потому что, как они говорят, резервные копии хороши, правильно?
Для меня единственная причина не использовать LVM состоит в том, что аварийное восстановление не (или по крайней мере, не был), четко определенный. Диск с объемами LVM, которые имели скремблированную ОС на нем, не мог тривиально быть присоединен к другому компьютеру и данным, восстановленным с нее; многие инструкции для восстановления объемов LVM, казалось, включали шаги, любят, возвращаются вовремя и выполняют vgcfgbackup, затем копируют получающийся/etc/lvmconf файл в систему, размещающую Ваш политый из шланга объем. Надо надеяться, вещи изменились за три или четыре года, так как я в последний раз должен был посмотреть на это, но лично я никогда не использую LVM поэтому.
Это сказало.
В Вашем случае я предположил бы, что VMs будут относительно маленькими по сравнению с хост-системой. Это значит для меня, Вы, более вероятно, захотите развернуть устройство хранения данных в VM позже; это лучше всего сделано путем добавления другого виртуального диска к VM и затем роста затронутых файловых систем VM. У Вас нет spanning-multiple-disks уязвимости, потому что виртуальные диски, довольно вероятно, будут на том же физическом устройстве в хост-системе.
Если VMs соберутся иметь важность для Вас вообще, то Вы будете RAID'ing хост-система так или иначе, которая уменьшит гибкость для роста устройства хранения данных позже. Таким образом, гибкость LVM, вероятно, не собирается требоваться.
Таким образом, я предположил бы, что Вы не будете использовать LVM в хост-системе, но установили бы VMs для использования LVM.
OpenOffice идет с unoconv программой для выполнения преобразований формата на командной строке.
unoconv -f csv filename.xlsx
Для более сложных требований можно проанализировать файлы XLSX с Spreadsheet::XLSX
в Perl или openpyxl
в Python. Например, вот беглый сценарий для распечатывания рабочего листа как разделенного от точки с запятой файла CSV (предупреждение: непротестированный, введенный непосредственно в браузере):
perl -MSpreadsheet::XLSX -e '
$\ = "\n"; $, = ";";
my $workbook = Spreadsheet::XLSX->new()->parse($ARGV[0]);
my $worksheet = ($workbook->worksheets())[0];
my ($row_min, $row_max) = $worksheet->row_range();
my ($col_min, $col_max) = $worksheet->col_range();
for my $row ($row_min..$row_max) {
print map {$worksheet->get_cell($row,$_)->value()} ($col_min..$col_max);
}
' filename.xlsx >filename.csv
Я использую xls2csv Perl для преобразования xls
файлы к csv
.
Не верный tho, если это работает с xlsx
также.
О нас:
Это не может быть запятая, разделенная, к сожалению, так как некоторые столбцы имеют запятые в них
вот почему заключение в кавычки было представлено:
1,2,"data,data, more data"
awk
сценарии. И его просто легче передать точку с запятой как разделителя полей в awk
. Я мог искать запятые в кавычках для замены их чем-то еще... теперь это - другой вопрос :)
– allrite
02.11.2011, 21:12
Я использую PHP. Просто установите библиотеку PHPExel из http://phpexcel.codeplex.com/, и вероятно Вам нужны функции XML также.
Это - мой код:
<?php
error_reporting(E_ALL);
date_default_timezone_set('Europe/London');
/** PHPExcel_IOFactory */
require_once '/home/markov/Downloads/1.7.6/Classes/PHPExcel/IOFactory.php';
$file="RIF394305.xlsx"; //PATH TO CSV FILE
// Check prerequisites
if (!file_exists($file)) {
exit("Please run 06largescale.php first.\n");
}
$objReader = PHPExcel_IOFactory::createReader('Excel2003XML');
$objPHPExcel = $objReader->load($file);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV');
$objWriter->save(str_replace('.xlsx', '.csv',$file));
?>
Можно вернуться процесс или использовать другой Excel/формат CSV. Посмотрите на различные php файлы в каталоге PHPExcel.
https://github.com/dilshod/xlsx2csv
Работавший хорошо для меня. Файл XLSX приблизительно на 85 МБ, преобразованный приблизительно в 3 минуты на Книге Mac Pro SSD.
$ python xlsx2csv.py -d ";" my.xlsx my.csv
работавший хорошо и способность определить deliminator, спасибо +!
– hhh
26.01.2017, 12:44
;
как разделитель. – Gilles 'SO- stop being evil' 03.11.2011, 02:27