鱼C论坛

 找回密码
 立即注册
查看: 2273|回复: 12

[已解决]怎样用python把这个数据处理成别的格式

[复制链接]
发表于 2016-8-18 22:35:41 | 显示全部楼层 |阅读模式

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

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

x
刚看完第31讲的python查询天气,自己在网上下了个位置编码有很多,下下来是这样的:101010100=北京,怎么用python才能把如下数据处理成视频上'北京':'101010100'这样的
最佳答案
2016-8-19 07:52:14
  1. >>> a = "101010100=北京"
  2. >>> [num, spa] = a.split("=")
  3. >>> num
  4. '101010100'
  5. >>> spa
  6. '北京'
复制代码

剩下的你就会了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-19 07:40:36 | 显示全部楼层
正则替换
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-19 07:52:14 | 显示全部楼层    本楼为最佳答案   
  1. >>> a = "101010100=北京"
  2. >>> [num, spa] = a.split("=")
  3. >>> num
  4. '101010100'
  5. >>> spa
  6. '北京'
复制代码

剩下的你就会了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-19 10:03:35 | 显示全部楼层
shuofxz 发表于 2016-8-19 07:52
剩下的你就会了吧

num, spa = a.split("=")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-19 10:37:46 | 显示全部楼层
shuofxz 发表于 2016-8-19 07:52
剩下的你就会了吧

我下下来是一个txt文件,里边有很多条,我是想怎么能把这么多条都处理了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-19 10:41:47 | 显示全部楼层
SixPy 发表于 2016-8-19 10:03
num, spa = a.split("=")

我下下来是一个txt文件,里边有很多条,我是想怎么能把这么多条都处理了,就是用文件读写那个,我自己写了半天都不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-19 10:45:52 | 显示全部楼层
mgiftdc 发表于 2016-8-19 10:37
我下下来是一个txt文件,里边有很多条,我是想怎么能把这么多条都处理了
  1. with open "xxx.txt" as f:
  2.     for each_line in f:
  3.         num, spa = each_line.split("=")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-19 11:03:44 | 显示全部楼层

我是这样写的
  1. f = open('C:\\Users\\Administrator\\Desktop\\a.txt','r')
  2. o = open('C:\\Users\\Administrator\\Desktop\\b.txt','a')
  3. for line in f.readlines():
  4.     if line !="\n":
  5.         
  6.         [num,spa] = line.split("=")
  7.         xin = "'"+ spa +"'"+":"+"'"+num+"'"
  8.         o.write(xin)
  9.     else:
  10.         line.strip()
  11.         

  12. o.close()
复制代码

但出来结果换行不对呀
C:\Users\Administrator\Desktop\捕获0.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-19 11:04:37 | 显示全部楼层
出来是这样的
1'北京
':'101010100''海淀
':'101010200''朝阳
':'101010300''顺义
':'101010400''怀柔
':'101010500''通州
':'101010600''昌平
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-19 11:25:53 | 显示全部楼层
我解决了,原来是源文件的每行最后都有个换行,获取到的spa后边就有换行,所以先把
  1. spa = spa.strip('\n')
复制代码
就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-19 11:51:56 | 显示全部楼层
本帖最后由 SixPy 于 2016-8-19 12:07 编辑
mgiftdc 发表于 2016-8-19 11:03
我是这样写的

但出来结果换行不对呀

  1. a = 'C:\\Users\\Administrator\\Desktop\\a.txt'
  2. b = 'C:\\Users\\Administrator\\Desktop\\b.txt'
  3. with open(a,'r') as r,\
  4.      open(b,'a') as w:
  5.     for line in r:
  6.         line = line.rstrip('\n')
  7.         if line :
  8.             num,spa = line.split("=")
  9.             w.write('"%s":"%s"\n' % (spa,num))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-19 15:23:54 | 显示全部楼层
mgiftdc 发表于 2016-8-19 11:03
我是这样写的

但出来结果换行不对呀

打开文件操作如果用 f = open("xxx") 形式的,最后一定要记得关闭文件流,你的 f 就忘了close() 了

最好还是用  
  1. with open "xxx.txt" as f:
复制代码

这种形式的,python会根据情况,在适当的时候自动把文件流关闭
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-19 15:37:30 | 显示全部楼层
shuofxz 发表于 2016-8-19 15:23
打开文件操作如果用 f = open("xxx") 形式的,最后一定要记得关闭文件流,你的 f 就忘了close() 了

最 ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 18:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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