text.csv
日付がそのように配置されたテキストファイルがあります。
name1
2010-01-02 (i)
2010-05-07 (i)
2010-06-12 (i)
name2
2010-01-02 (i)
2010-05-07 (i)
2010-06-12 (i)
name3
2011-01-05 (i)
2011-05-05 (i)
2011-06-14 (i)
次のように、ファイルを 2 列に再フォーマットまたは書き込みたいと思います。
+---------------+-----+
| 2010-01-02 (i)|name1|
| 2010-05-07 (i)|name1|
| 2010-06-12 (i)|name1|
| 2010-01-02 (i)|name2|
| 2010-05-07 (i)|name2|
| 2010-06-12 (i)|name2|
| 2011-01-05 (i)|name3|
| 2011-05-05 (i)|name3|
| 2011-06-14 (i)|name3|
+---------------+-----+
ロジックは次のようになります。
if line doesn't contain "(i)", name=value
else
write date=value, name to file
PHP は使用したくありませんが、データをループすることはできます。
<?php
$file = file($path);
foreach($file as $value)
{
if ( strpos($value, "(i)" ) !== false)
$name = $value;
$fp = fopen('data.csv', 'w');
fputcsv($fp, $line);
fclose($fp);
}
私が始めることができるPythonの例を提供できますか? Libre office calc でマクロとして実行する必要があります。