我有一系列 CSV 文件,其第二个字段是日期:
R.OUSE BOURTON MILL,2000-03-22T14:50:00,Ammoniacal Nitrogen as N,0.03,mg/l
如何将所有文件的日期格式更改为 DD/MM/YYYY?不需要测量时间。
非常感谢
我在一个位置有 700 个目录,我需要使用 .csv 文件重命名它们,如下所示:
我想用 Column_B 的条目替换 Column_A 的名称。
Column_A Column_B
F001 IC500
F003 IC501
F006 IC502
F008 IC503
... ...
Run Code Online (Sandbox Code Playgroud)
如何批量重命名目录?
我在一个文件中包含结构松散的记录,由 3 或 4 行文本组成(大部分)由空行分隔。并非所有记录都有空行分隔符,但每条记录的最后一行都以“已添加”一词开头。我想生成一个 csv 文件,每条记录在一行上,前面是行号。到目前为止,我只能生成由任意数量的空格和冗余逗号分隔的所有记录的串联。
从逻辑上讲,我试图实现以下目标:
读取行,如果行以“已添加”开头,则在末尾保留换行符,
否则将“换行符”替换为“,”,
或者如果行为空白,则将其删除
endif
样本数据:
Peter Green
Space Monkey at Area 51
Joined
Added by SF 3 weeks ago
Will Rossiter
Joined
Added by SF 3 weeks ago
Dean Matthews
Guitarist at Blues
Joined
Added by SF 3 weeks ago
Hobbit Mak
Farnborough, United Kingdom
Joined
Added by SF 3 weeks ago
Keneth W Moorfield
THE STOREMAN
Joined
Added by SF 3 weeks ago
Mick Georgious
Software Engineer
Joined
Added by SF …Run Code Online (Sandbox Code Playgroud) 我有一个 CSV 文件,我想获取每列的列名
样本 :

我怎样才能用 awk 或 sed 或 grep 做到这一点?
我想将文本文件转换为 CSV 格式。
以下是该文件的摘录:
{"Outdated":false,"Watt":233,"Timestamp":1669647142,"A_Plus":6523.896,"A_Plus_HT":4494.82,"A_Plus_NT":2029.076,"A_Minus":8841.63}
{"Outdated":false,"Watt":235,"Timestamp":1669647152,"A_Plus":6523.896,"A_Plus_HT":4494.82,"A_Plus_NT":2029.076,"A_Minus":8841.63}
{"Outdated":false,"Watt":235,"Timestamp":1669647596,"A_Plus":6523.896,"A_Plus_HT":4494.82,"A_Plus_NT":2029.076,"A_Minus":8841.63}
{"Outdated":false,"Watt":233,"Timestamp":1669651191,"A_Plus":6524.496,"A_Plus_HT":4495.42,"A_Plus_NT":2029.076,"A_Minus":8841.63}
{"Outdated":false,"Watt":276,"Timestamp":1669654797,"A_Plus":6524.816,"A_Plus_HT":4495.74,"A_Plus_NT":2029.076,"A_Minus":8841.63}
{"Outdated":false,"Watt":437,"Timestamp":1669658393,"A_Plus":6525.901,"A_Plus_HT":4496.825,"A_Plus_NT":2029.076,"A_Minus":8841.63}
{"Outdated":false,"Watt":362,"Timestamp":1669661992,"A_Plus":6526.732,"A_Plus_HT":4497.656,"A_Plus_NT":2029.076,"A_Minus":8841.63}
{"Outdated":false,"Watt":471,"Timestamp":1669665603,"A_Plus":6527.062,"A_Plus_HT":4497.986,"A_Plus_NT":2029.076,"A_Minus":8841.63}
Run Code Online (Sandbox Code Playgroud)
该结构类似于 JSON 文件,但不幸的是结构并不完全匹配。我已经使用过这个工具(https://github.com/alingse/jsoncsv),但不幸的是,由于结构错误,我收到了错误消息。
如何将其转换为 CSV 文件?
感谢您的帮助!
将 Evolution 地址簿导出为vcf/vCard 很容易:将地址簿文件/保存为 vcf。
但是导出为 csv 文件怎么样?
我有这个file1.csv:
A,dog cat horse cow
B,goat deer fish
A,deer goat
C,dog cat
C,goat
Run Code Online (Sandbox Code Playgroud)
我需要合并加入类似的行(例如 A 和 C):
A,dog cat horse cow deer goat
B,goat deer fish
C,dog cat goat
Run Code Online (Sandbox Code Playgroud) 我有一个包含两列(和一个标题)的 CSV 文件,其中每个元素都包含 0 到 199 之间的任意数字。我想将它们转换为相应的 URL。下面是一个例子:
41,51
Run Code Online (Sandbox Code Playgroud)
应该变成:
http://www.cs.bu.edu/~betke/research/vc-crowd/MSCOCO/41.jpg,http://www.cs.bu.edu/~betke/research/vc-crowd/MSCOCO/51.jpg
Run Code Online (Sandbox Code Playgroud)
这是我要转换的 list.csv 文件:
$ head list.csv
imageA,imageB
41,51
172,100
99,149
83,72
84,160
186,8
93,198
150,21
63,102
Run Code Online (Sandbox Code Playgroud) 考虑这个数据:
#!/usr/bin/env bash
cat > example_file.txt <<EOL
group, value, price
1, 3.21, 3.21
1, 3.42, 4.11
1, 3.5, 1.22
2, 4.1, 9.2
2, 4.2, 2.11
EOL
Run Code Online (Sandbox Code Playgroud)
我想将“值”列移到前面:
value, price, group
3.21, 3.21, 1
3.42, 4.11, 1
3.5, 1.22, 1
4.1, 9.2, 2
4.2, 2.11, 2
Run Code Online (Sandbox Code Playgroud)
问题是:列的顺序(甚至列的数量或许多列的名称——除了始终存在的“值”)因文件而异。所以我必须按名称(而不是顺序)选择值列。
我怎样才能做到这一点?
我正在尝试将 CSV 文件导入表中,但速度非常慢。我有大约 1000 个文件,每个文件大小为 40 MB。每当我尝试导入它时,我都可以看到例如 MySQL 工作台它以每秒大约 30 - 60 行的速度插入。处理我的所有文件需要很长时间。我怎样才能加快速度?我已经将 mysql.cnf 文件修改为以下配置,不幸的是它没有加快速度:
/etc/mysql/conf.d/mysql.cnf
[mysqld]
innodb_buffer_pool_size=12G
innodb_io_capacity = 2000
innodb_read_io_threads = 48
innodb_thread_concurrency = 0
innodb_write_io_threads = 48
innodb_buffer_pool_size=12G
innodb_log_file_size = 512M
max_connections = 1000
max_allowed_packet = 128M
#key_buffer = 1000M
bulk_insert_buffer_size = 1024M
innodb_doublewrite = 0
innodb_flush_log_at_trx_commit = 2
key_buffer_size = 4000M
Run Code Online (Sandbox Code Playgroud)
它确实说根据 PHPMyAdmin 在 InnoDB 中配置了 12G,所以我可以安全地确认配置至少有效。
万一需要的规格:
OS: Ubuntu 18.04
CPU: 6 cores, 12 threads @ 4.5 GHz
RAM: 32 GB DDR4 @ 3.2 GHz …Run Code Online (Sandbox Code Playgroud) 我有一个带有制表符或空格分隔符的 txt 文件。我需要将其转换为 csv。您如何建议使用命令行这样做?
$ perl -F"//" -nlae 'for (@F) {$a{$_}++};for (keys %a){print $_ if ($a{$_}+1==5 && !($_=~/\w/))};undef %a' moth_gt.txt
Run Code Online (Sandbox Code Playgroud)
上面的命令什么都不输出。
该文件如下所示:
$ head -10 moth_gt.txt
1.0000 494.5551 234.2510 711.6219 274.2668 481.7198 299.5598 311.0864 339.5756
2.0000 494.6552 233.6892 698.5310 237.2043 478.3979 300.0367 285.5068 300.0367
3.0000 496.0657 234.5680 660.4773 182.6485 477.8938 299.0346 279.7346 239.3273
4.0000 498.0948 236.4126 618.2942 142.6347 477.2553 302.2803 298.6309 175.0104
5.0000 499.2109 237.2335 603.7807 120.0112 473.9058 307.5669 323.1914 136.0130
6.0000 497.2581 236.8611 616.7132 115.5453 473.4415 309.7994 336.1240 123.7323 …Run Code Online (Sandbox Code Playgroud) 我有一个很大的 csv 文件(120GB),如下所示:
"JE",865438083645,2012-12-05T23:07:36.000Z,24,"NQ",142,"658_55525",475035504705
"JE",875619112765,2012-12-05T23:58:04.000Z,4,"PG",144,"219_9221",835399289335
"JE",125495251245,2012-12-05T18:16:06.000Z,206,"PLJE",153,"763_60771",445355650435
Run Code Online (Sandbox Code Playgroud)
我想从第七列中的值中删除下划线和引号(例如,"658_55525"变为65855525)。我正在使用的数据库的导入工具不允许在导入时转换或操作文件。
从命令行执行此操作的有效方法是什么?
我有一个网络监控命令的输出,它看起来像这样:
391KB 7.48MB 7.86MB
Run Code Online (Sandbox Code Playgroud)
其中有很多空间先。现在我想用,.
我试过了sed 's/ /,/g' input_file > output_file,但结果并不完全符合我的预期:
,,,,,,,,,,,,,,,,,,,,,391KB,,,,,7.48MB,,,,,7.86MB
Run Code Online (Sandbox Code Playgroud)
我什至试过:
sed -r 's/(.*) /\1,/; s/ //g' file.txt > output.txt
Run Code Online (Sandbox Code Playgroud)
但输出如下:
391KB7.48MB,7.86MB
Run Code Online (Sandbox Code Playgroud)
如何用一个逗号替换空格序列?
我认为很高兴提到我想将此数据添加到 csv 文件。
csv ×13
command-line ×10
bash ×3
18.04 ×1
address-book ×1
awk ×1
batch-rename ×1
evolution ×1
json ×1
mysql ×1
phpmyadmin ×1
scripts ×1
sed ×1