从系统中导出来的EXCEL是逗号分隔值文件,打开是乱码。求助。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从系统中导出来的EXCEL是逗号分隔值文件,打开是乱码。求助。相关的知识,希望对你有一定的参考价值。
这个不是EXCEL文件,你可以用EXCEL转换,打开该文件时,会有向导指导你一步步的进行,选分隔符时选“逗号”,就可以转换成EXCEL文件,直接打开当然是乱码了追问打开的时候没有向导指导,导出来保存的时候就自动是逗号分隔值文件,不能选择其他的文件类型。 回答1、你导出过程没有错,大多数软件导出时都是这种格式的TXT文件,这样很通用
2、你先打开EXCEL——点“打开”——选择刚导出的逗号分隔的TXT文件——会出现一个向导,一步步让你选择分成几列几行,以什么为分隔符等信息,你选择分隔符时选“逗号”就会正常了
按照以上是的回答,但我还是打开的时候没有向导指导,怎么办呢?
从非常大的表中导出逗号分隔的数据
【中文标题】从非常大的表中导出逗号分隔的数据【英文标题】:Exporting comma delimited data from a very large table 【发布时间】:2013-11-25 09:51:51 【问题描述】:我正在尝试从具有大约 1300 万个条目的远程主机的一个非常大的表中获取所有数据到一个文本文件中。我尝试了以下命令,但一段时间后进程被杀死并显示一条名为“Killed”的消息。在控制台中。 mysql --user=username --password -h host -e "select * from db.table_name" >> output_file.txt
我的主要目标是将数据从 mysql 复制到 redshift,我这样做是通过使用“,”分隔的文本文件获取所有数据,然后将其上传到 s3 并在 redshift 上执行 COPY
查询。
P.S 对于小表,上述命令可以正常工作,但不适用于大表。
【问题讨论】:
【参考方案1】:你可以试试mysqldump。如果我没记错的话,它可以参数化为输出 CSV。我自己没有尝试过,所以您可能想查看文档,但这应该可以:
mysqldump --user=username --password -h host \
--fields-terminated-by="," --fields-enclosed-by="\"" --lines-terminated-by="\n" \
dbname tablename > output_file.txt
如果这不起作用,您可以尝试 SELECT INTO OUTFILE。您需要像这样直接在 MySQL 主机上执行此操作:
SELECT * INTO OUTFILE '/tmp/data.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\' LINES TERMINATED BY '\n'
FROM db.table_name
【讨论】:
如果您可以提供导出到 csv 文件的第一个选项的命令将非常有帮助。我无法访问数据库以外的文件,所以第二个选项不会有太大帮助。以上是关于从系统中导出来的EXCEL是逗号分隔值文件,打开是乱码。求助。的主要内容,如果未能解决你的问题,请参考以下文章