有没有办法,理想情况下使用命令行,将多个 .csv 文件转换为一个多表 .xls 电子表格?
如果没有 cli 解决方案,最好知道是否有一个 API 可以在理想情况下在 awk 或 pascal 中工作,但是,如果失败了,在任何事情上都很好。
我拥有并想要实现的目标:
一个文件夹中有数千张图片。
我有一个包含以下列的 CSV 文件:
A:原名 B:改名
典型的行如下所示:
"original-1.jpg","renamed-1.jpg"
"original-2.jpg","renamed-2.jpg"
Run Code Online (Sandbox Code Playgroud)
我可以删除引号,这不是问题。
现在我想使用一个应用程序或运行一个脚本来搜索 A 列中的所有图像并将它们重命名为 B 列中的名称(例如 original-1.jpg ->重命名-1.jpg)。
周围有一些答案,例如:
http://ubuntuforums.org/showthread.php?t=1069652
http://systembash.com/content/one-line-batch-rename-files-using-csv-input-file-and-awk/
但是,涉及到一些脚本,我不确定所有这些脚本是否只影响您存储脚本的文件夹,或者它们是否可以重命名磁盘上满足某些条件的所有文件。当然,后者需要避免。
我正在寻找的是如何重命名文件以及如何选择包含文件的文件夹的简单指南。
先感谢您。
文件1.csv
A,,C,D
A,,C,D
A,,C,D
A,,C,D
Run Code Online (Sandbox Code Playgroud)
文件2.csv
A,B
A,B
A,B
A,B
Run Code Online (Sandbox Code Playgroud)
所需的输出.csv
A,B,C,D
A,B,C,D
A,B,C,D
A,B,C,D
Run Code Online (Sandbox Code Playgroud)
我试过使用“加入”和“粘贴”无济于事。是否有 bash 命令来执行此操作?两个.csv文件中的“A”列相同。
我知道使用in2csv将特定工作表保存为 .csv:
in2csv --sheet "sheet name" file1.xls > sheet-name.csv
但是还有其他工具可以打印工作表名称吗?
也许 Perl 有选项?
我需要将单个 .xls/.xlsx 文件的所有工作表转换为 .csv。这将在所有目录和子目录(递归)中的所有 .xls 文件上完成。
第 1 步:使用以下方法将所有 .xls 的工作表名称转换为 .csv:
for file in $(find . -name '*.xls' -o -name '*.xlsx');do in2csv -n "$file" > ${file%.xls}-sheetnames-list.csv; done
Run Code Online (Sandbox Code Playgroud)
filename-sheetnames-list.csv 可以作为一个列表:
sheetname1
sheetname2
sheetname3
Run Code Online (Sandbox Code Playgroud)
第 2 步:使用 in2csv 将特定工作表转换为 .csv 的代码是:
in2csv --sheet "SHEETNAME" filename.xls > filename-SHEETNAME.csv
Run Code Online (Sandbox Code Playgroud)
如何获取 .xls/x 中的每个工作表名称并为包含 .xls/x 的所有目录分别编写每个工作表?
in2csv --write-sheets "-" filename.xls > filename-sheet1.csv filename-sheet2.csv .... 仅在 sheet1.csv 上提供输出,不确定如何从中获取所有工作表。
假设我有一个这样的txt文件:
Mario
mario@me.com
+399038259953
Luigi
luigi@live.com
+395902385093
Yoshi
yoshi@yahoo.com
+81293565291
Run Code Online (Sandbox Code Playgroud)
[依此类推 300 行...]
如何制作具有三行(姓名、电子邮件、电话号码)的 .ods(或 .xls 或 .csv,没关系)文件?我需要它,以便我可以轻松地将其转换为 .vcf 文件,并将这些数字批量保存在我的手机中。
谢谢
我创建了一个 csv 文件,但忘记添加行号作为第一列。执行此操作的最快方法是什么(对于大文件)?
262145,umbrella,umbrella,carrot,carrot,carrot,carrot,person,person,person,person,person,person,person,person,person,person,person,person,umbrella,carrot,carrot,carrot,carrot,carrot,carrot,carrot,carrot,person,umbrella,carrot,person,carrot
262146,person,skis,backpack
524291,dog,dog,person,frisbee
393223,toothbrush,person
393224,tie,person,person,person,person,person
524297,person,person,person,bear
393227,person,skateboard
131084,motorcycle,person
393230,person,skis
524311,chair,person,remote
393241,frisbee,person,person,person,person,person,person,person,person,person,car,car,person,car,car,person,person,person
524314,car,person,person,teddy bear,car,handbag,cell phone,car,handbag,teddy bear
262171,boat,person,person,person,person,person,person,boat,person
131101,umbrella,person,person,backpack,handbag,person
524320,tie,person,person,suitcase,person
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
1,262145,umbrella,umbrella,carrot,carrot,carrot,carrot,person,person,person,person,person,person,person,person,person,person,person,person,umbrella,carrot,carrot,carrot,carrot,carrot,carrot,carrot,carrot,person,umbrella,carrot,person,carrot
2,262146,person,skis,backpack
Run Code Online (Sandbox Code Playgroud) 如果我在本地磁盘上有一个 XML 文件,需要使用哪个命令将文件转换为 CSV?
从 XLSX 或 XLS 到 CVS?
谢谢。
csv ×10
command-line ×6
xls ×4
bash ×2
xml ×2
batch-rename ×1
conversion ×1
convert ×1
files ×1
join ×1
libreoffice ×1
scripts ×1
users ×1