gpt4 book ai didi

mysql - 从文本文件中提取特定字段

转载 作者:行者123 更新时间:2023-11-29 03:08:47 24 4
gpt4 key购买 nike

我有一个 csv 文件,其中包含超过 5k 个带有标题名称的字段/列。我只想将一些特定字段导入我的数据库。

我正在为需要导入的其他较小文件使用本地 infile

LOAD DATA
LOCAL INFILE 'C:/wamp/www/imports/new_export.csv'
INTO TABLE table1
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
(colour,shape,size);

为要跳过的列分配虚拟变量可能很麻烦,此外,如果文件有其他字段,我更愿意引用使用字段标题作为 future 证明

我正在考虑在将文件加载到数据库之前对文件使用 awk。但是我在搜索中找到的示例似乎不起作用。

任何有关最佳方法的建议都将不胜感激。

最佳答案

这类似于 MvG 的回答,但它不需要 gawk 4,因此按照该回答中的建议使用 -F。它还展示了一种用于列出所需字段并遍历列表的技术。如果列表很大,这可能会使代码更易于维护。

#!/usr/bin/awk -f
BEGIN {
col_list = "colour shape size" # continuing with as many as desired for output
num_cols = split(col_list, cols)
FS = OFS = ","
}

NR==1 {
for (i = 1; i <= NF; i++) {
p[$i] = i # remember column for name
}
# next # enable this line to suppress headers.
}

{
delim = ""
for (i = 1; i <= num_cols; i++) {
printf "%s%s", delim, $p[cols[i]]
delim = OFS
}
printf "\n"
}

关于mysql - 从文本文件中提取特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11346419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com