如何将一个 txt 文件中的多个字段导入 mysql!

2015-01-31 04:34:01 +08:00
 zmq175

之前试了好几次都不成功。
txt的一部分如下:
a[ei, ә]art.一个
an[әn, æn]art.一个
ability[ә'biliti]n.能力,才干
able['eibl]a.有才能的,能够的
about[ә'baut]prep.关于
above[ә'bʌv]prep.在…之上
accident['æksidәnt]n.意外;偶然事故
according to[әˌkɔ:diˌ tu:]依照
achieve[ә'tʃi:v]vt.完成
across[ә'krɔs]ad.交叉;横过
act[ækt]n.行为;举动
action['ækʃәn]n.行动;动作
active['æktiv]a.活动的;活跃的
actual['æktʃuәl]a.实际的;真实的
adapt[ә'dæpt]vt.使适应;使适合
add[æd]v.增加
addition[ә'diʃәn]n.加;加起来
address[ә'dres]n.地址;住址
admire[әd'maiә]vt.钦佩;赞美;赞赏
admit[әd'mit]vt.承认,供认
advance[әd'vɑ:ns]n.前进;增进

4735 次点击
所在节点    PHP
16 条回复
zmq175
2015-01-31 04:35:03 +08:00
存入一个数据库表。。。
里面有自增的id。
英文,音标,解释个为一列。。。
大一学生。。。表示搞不定!求助!
haiyang416
2015-01-31 05:11:13 +08:00
不要弄那么复杂,写个正则式匹配下就行。
如果有能力,写状态机弄个词法分析也可以,
你是在哪里出了问题?
yfdyh000
2015-01-31 05:16:00 +08:00
[和]替换成,不就是CSV格式了吗(排除特殊情况),然后不难吧。
vibbow
2015-01-31 05:16:19 +08:00
用navicat直接导入就行了。
haiyang416
2015-01-31 05:18:43 +08:00
推荐先用正则把整个文件按行分割成你需要的几个部分,最好另存到新文件,人工检查一下分割是否正确。
然后读取分割后的文件写入数据库,文件大的话按行读,不要一次性塞内存。
haiyang416
2015-01-31 05:31:43 +08:00
如果对释义没什么格式要求就用这楼的方法 @yfdyh000
tulongtou
2015-01-31 08:29:24 +08:00
随便用一种语言读取txt,然后处理插入数据库
tempdban
2015-01-31 09:57:22 +08:00
excel分列导出csv
for8ever
2015-01-31 09:58:10 +08:00
<div>fff</div>
zmq175
2015-01-31 10:35:23 +08:00
@haiyang416 就是导入的时候乱掉了
xiaowu365
2015-01-31 11:40:51 +08:00
编码 注意下,CSV 导入应该没问题
KnightChu
2015-01-31 11:47:44 +08:00
@zmq175 用 Python 或者 Ruby 什么的处理一下,然后文件输出吧
chunyang
2015-01-31 13:30:14 +08:00
把 txt 转化成用 tab 隔开的 csv,之所以用 tab,是因为数据中含有空格和逗号。

可以用 GNU Awk 完成这一任务,即根据方括号(之前、之中、之后)把数据分成 3 组:单词短语、音标、解释:

<script src="https://gist.github.com/xuchunyang/b293bd5f6c4465b9dd3c.js"></script>

csv 导入 mysql 应该比较简单,我没用过 mysql,具体不了解。
zmq175
2015-01-31 14:53:55 +08:00
最后打算用navicat了!!!谢谢大家
zmq175
2015-01-31 19:17:55 +08:00
@chunyang 音标有少数出现了乱码的情况。。。编码是utf-8无误。。。
chunyang
2015-01-31 19:21:21 +08:00
@zmq175 具体原因不清楚,可能音标中的字符成分比较复杂。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/166942

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX