鱼C论坛

 找回密码
 立即注册
查看: 3693|回复: 21

python新手问题合并两个文件

[复制链接]
发表于 2016-1-23 23:24:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有a1.txt和a2.txt两个文档:
a1里的内容如下:
abcd
bcda
cdab
dabc
a2里的内容如下:
abcdefj
skdfjlas
sldjflka
bdsagg
如何把a1和a2合并为a3,合并后a3内容如下:
abcdabcdefj
bcdaskdfjlas
cdabsldjflka
dabcbdsagg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-24 10:44:14 | 显示全部楼层
  1. f1 = open('a1.txt', 'r')
  2. f2 = open('a2.txt', 'r')
  3. f3 = open('a3.txt', 'w')

  4. l3 = [l1.rstrip('\n') + l2 for l1 in f1 for l2 in f2]
  5. for each_line in l3:
  6.     f3.write(each_line)
复制代码

不懂欢迎追问
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-24 19:55:08 | 显示全部楼层

你好!好像不行,都是同一行的数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-24 19:57:07 | 显示全部楼层
冬天的哈根达斯 发表于 2016-1-24 19:55
你好!好像不行,都是同一行的数据

那就在write后面加\r\n
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-24 20:30:17 | 显示全部楼层

第五局那两个for是怎么个用法额
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-24 21:12:12 | 显示全部楼层
65230215 发表于 2016-1-24 20:30
第五局那两个for是怎么个用法额

列表解析式
老师讲过的哦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-25 01:14:43 | 显示全部楼层
hldh214 发表于 2016-1-24 21:12
列表解析式
老师讲过的哦~

哈哈。懂啦,有点像lambda
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-25 11:58:09 | 显示全部楼层
hldh214 发表于 2016-1-24 19:57
那就在write后面加\r\n

麻烦写一下格式,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-25 12:04:28 | 显示全部楼层

这是学校的作业吗
  1. f1 = open('a1.txt', 'r')
  2. f2 = open('a2.txt', 'r')
  3. f3 = open('a3.txt', 'w')

  4. l3 = [l1.rstrip('\n') + l2 for l1 in f1 for l2 in f2]
  5. for each_line in l3:
  6.     f3.write(each_line + '\r\n')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-25 12:12:16 | 显示全部楼层
hldh214 发表于 2016-1-25 12:04
这是学校的作业吗

还是不行呢!都是同一行的数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-25 12:13:38 | 显示全部楼层
冬天的哈根达斯 发表于 2016-1-25 12:12
还是不行呢!都是同一行的数据

你把同一行的数据贴上来我看看问题出在哪了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-25 12:17:39 | 显示全部楼层
hldh214 发表于 2016-1-25 12:13
你把同一行的数据贴上来我看看问题出在哪了

就是a1.txt都是相同的:
abcdabcdefj


abcdskdfjlas


abcdsldjflka


abcdbdsagg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-25 12:19:35 | 显示全部楼层
冬天的哈根达斯 发表于 2016-1-25 12:17
就是a1.txt都是相同的:
abcdabcdefj

这是已经分行了, 你是要分行还是不要?
难道我曲解你的意思了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-25 12:22:12 | 显示全部楼层
hldh214 发表于 2016-1-25 12:19
这是已经分行了, 你是要分行还是不要?
难道我曲解你的意思了?

a1.txt文件中的数据只有第一行,a2.txt文件中的数据是每行都用到了
我想要的结果是:
abcdabcdefj
bcdaskdfjlas
cdabsldjflka
dabcbdsagg
你现在的结果是:
abcdabcdefj
abcdskdfjlas
abcdsldjflka
abcdbdsagg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-25 13:27:40 | 显示全部楼层
冬天的哈根达斯 发表于 2016-1-25 12:22
a1.txt文件中的数据只有第一行,a2.txt文件中的数据是每行都用到了
我想要的结果是:
abcdabcdefj

非常抱歉, 没看仔细
  1. f1 = open('a1.txt', 'r').read().split('\n')
  2. f2 = open('a2.txt', 'r').read().split('\n')
  3. f3 = open('a3.txt', 'w')

  4. l3 = [f1[i] + f2[i] for i in range(len(f1))]

  5. for each_line in l3:
  6.     f3.write(each_line + '\r\n')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-25 15:07:37 | 显示全部楼层
hldh214 发表于 2016-1-25 13:27
非常抱歉, 没看仔细

不行啊这次输出是空数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-25 15:22:55 | 显示全部楼层
冬天的哈根达斯 发表于 2016-1-25 15:07
不行啊这次输出是空数据

a3.txt里面为空吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-25 15:25:20 | 显示全部楼层
hldh214 发表于 2016-1-25 15:22
a3.txt里面为空吗

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-25 15:27:35 | 显示全部楼层

你试试这段代码, 看看终端输出什么
  1. # f1 = open('a1.txt', 'r').read().split('\n')
  2. # f2 = open('a2.txt', 'r').read().split('\n')
  3. # f3 = open('a3.txt', 'w')

  4. f1 = '''abcd
  5. bcda
  6. cdab
  7. dabc'''.split('\n')

  8. f2 = '''abcdefj
  9. skdfjlas
  10. sldjflka
  11. bdsagg'''.split('\n')


  12. l3 = [f1[i] + f2[i] for i in range(len(f1))]

  13. for each_line in l3:
  14.     print(each_line)
  15.     # f3.write(each_line + '\r\n')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-25 15:30:35 | 显示全部楼层
hldh214 发表于 2016-1-25 15:22
a3.txt里面为空吗

可以了。谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 06:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表