gpt4 book ai didi

mysql 在将数据集导出到 csv 文件时从文本字段中删除 `CR` 或 `0D`

转载 作者:行者123 更新时间:2023-11-28 23:23:47 26 4
gpt4 key购买 nike

此问题与导出 csv 文件的行更改有关。我有一个结果表,我想将其导出以另存为 csv 文件,但我对导出格式不满意,尤其是行更改:

mysql workbench 中显示的原始表 data set in workbench

输出的csv文件 output csv file可以看到,每条记录在transfer_fee这一列后换行,下面是我导出的代码

(select 'id','player_id','season','before_date','before_value','transfer_date',
'transfer_fee','after_date','after_value')
union
(select *
from market_value_variation
into outfile 'E:/Equipment/PythonWorkSpace/MarketValue/sql/market_value_variation.csv'
fields terminated by ','
lines terminated by '\n');

如果我使用 mysql workbench 的导出功能并且顺便说一句,workbench 的结果限制为 1000,这个问题仍然存在。我想知道我如何才能得到结果,只需更改输出 csv 文件中每条记录的行,例如:

id,player_id,season,before_date,before_value,transfer_date,transfer_fee,after_date,after_value
1,192565,15/16,2015-07-01,3400000,2015-07-01,-,2015-07-01,3400000
2,139278,15/16,2015-07-01,150000,2015-07-01,-,2015-07-01,150000
3,153628,15/16,2015-07-01,128000,2015-07-01,-,2015-07-01,128000
4,143121,15/16,2015-07-01,425000,2015-07-01,-,2015-07-01,425000
5,165007,15/16,2015-07-01,10200000,2015-08-28,End of loan,2016-02-22,10200000
...

我已经尝试过 \r\n 但这个问题仍然存在并且奇怪的是 transfer_fee 之后的每条记录在第一行的末尾都有一个 \ ,例如:

id,player_id,season,before_date,before_value,transfer_date,transfer_fee,after_date,after_value
1,192565,15/16,2015-07-01,3400000,2015-07-01,-\
,2015-07-01,3400000
2,139278,15/16,2015-07-01,150000,2015-07-01,-\
,2015-07-01,150000
3,153628,15/16,2015-07-01,128000,2015-07-01,-\
,2015-07-01,128000

通过任一代码检查 transfer_fee 的值后:

select hex(transfer_fee) from market_value_variation;

或者在mysql workbench中Open Value in Editor,发现transfer_fee的十六进制值为2D0D0D 表示 CR 即回车,然后我尝试了其他相同问题的 stackoverflow 上建议的几种方法,例如:

update market_value_variation set transfer_fee=trim(trailing '\n' from transfer_fee);
update market_value_variation set transfer_fee=replace(transfer_fee,'\r\n','');
update market_value_variation set transfer_fee=replace(transfer_fee,'\n','');
update market_value_variation set transfer_fee=trim('\r\n' from transfer_fee);
update market_value_variation set transfer_fee=trim('\n' from transfer_fee);

但他们对我不起作用,问题仍然是:

2D0D

或文本格式

2d0d

所以我想知道如何从 transfer_fee 中删除 CR0D

我在使用 mysql 5.7.11 的 window 10 操作系统上工作

感谢任何帮助,谢谢。

最佳答案

最后,解决这个问题的直接方法就是写

update market_value_variation 
set transfer_fee=replace(replace(transfer_fee,'\n',''),'\r','');

它删除了文本字段中的 0d,它适用于最终导出的 csv 文件。

关于mysql 在将数据集导出到 csv 文件时从文本字段中删除 `CR` 或 `0D`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40316944/

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