此问题与导出csv文件的行更改有关。我有一个结果表,我想导出它保存为csv文件,但我不满意导出格式,尤其是换行:
输出csv文件
如您所见,每条记录在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的导出函数和工作台btw的结果限制为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
的十六进制值为2D0D
,而0D
表示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);
但它们对我不起作用,问题仍然是:
或以文字格式
所以我想知道如何从CR
删除0D
或transfer_fee
?
我使用mysql 5.7.11
在Windows 10操作系统上工作感谢任何帮助,谢谢。
答案 0 :(得分:0)
最后,解决这个问题的直接方法是写
update market_value_variation
set transfer_fee=replace(replace(transfer_fee,'\n',''),'\r','');
删除文本字段中的0d
,它适用于最终导出csv文件。