Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python解析难题

Python解析难题
EN

Stack Overflow用户
提问于 2012-07-22 10:45:03
回答 2查看 68关注 0票数 0

我到处寻找解决这种情况的方法,并测试了几种不同的方法,但到目前为止我还没有任何运气。基本上,我有一个具有以下格式的数据文件,我需要将其转换为CSV:

代码语言:javascript
运行
AI代码解释
复制
(previously known as CyberWay Pte Ltd)
0 2019
01.com
0 1975
1 TRAVEL.COM
0 228
1&1 Internet
97 606
1&1 Internet AG
0 1347
1-800-HOSTING
0 8
1Velocity
0 28
1st Class Internet Solutions
0 375
2iC Systems
0 192

我试过使用re.sub并用逗号替换其他行中数字之间的空格,但到目前为止还没有取得任何成功。我承认我通常从CSVs中解析,所以原始文本对我来说是个挑战。我需要维护每组数字之上的字符串格式。

我希望CSV的格式如下:

代码语言:javascript
运行
AI代码解释
复制
foo bar
0,8
foo bar
0,9
foo bar
0,10
foo bar
0,11

大约有5万条条目,所以手工编辑需要花费大量的时间。

如果有人有任何建议的话,我将非常感激。

非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-22 10:54:22

如果我正确地理解了您的需求,那么您需要在所有行上使用条带(),在偶数行(从1开始的行)上需要基于空格的分隔:

代码语言:javascript
运行
AI代码解释
复制
import re

fp = open("csv.txt", "r")
while True:
    line = fp.readline()
    if '' == line:
            break
    line    = line.strip()
    fields  = re.split("\s+", fp.readline().strip())
    print "\"%s\",%s,%s" % ( line, fields[0], fields[1] )
fp.close()

输出是CSV (如果输入中出现引号,则可能需要转义引号):

代码语言:javascript
运行
AI代码解释
复制
"Content of odd line",Number1,Number2

不过,我不明白你把“foo,bar”作为标题放在示例中的奇怪行中。

票数 0
EN

Stack Overflow用户

发布于 2012-07-22 10:50:32

如果您只想用逗号替换空格,您可以这样做:

代码语言:javascript
运行
AI代码解释
复制
line = ','.join(line.split())

你只能在每一条线上做这件事,但从你的问题上看,你似乎已经知道如何处理每一行了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11603024

复制
相关文章
答题比赛难题解析(1)
这道题好多人不敢选D,其实业务工人、业务实体都是智能系统。人不好使,换电脑系统,电脑系统不好使,换人。给业务工人培训新的技能让他承担新的责任和给业务实体增加新的功能是一样的。
用户6288414
2019/09/23
3060
答题比赛难题解析(1)
答题比赛难题解析(2)
2) 和设计工作流的对象相比较,分析工作流的对象的特点是仅存在于内存中,不保存到硬盘
用户6288414
2019/09/23
4200
答题比赛难题解析(2)
应用虚拟化部署过程五大难题解析
就现在来说,虚拟化并不是一项新技术。虚拟化刚刚诞生的时候,它最大的诟病就是,支撑虚拟系统的硬件投入和对于网络环境的要求,对网络带宽的要求等。然而,近年来越来越多的企业导入虚拟化技术。虚拟化技术为何如此
静一
2018/03/20
1.3K0
海盗分赃难题
船上有十个海盗,有一天,他们抢到了一箱100斤的黄金,打算分赃(以斤为最小单位)。十个海盗从高到低分为10个等级,分配权在最高等级的海盗手里。他可以任意分配每个海盗的所得,但必须取得半数或半数以上的海盗(包括自己在内)的支持,否则他将被同伴处死。处死之后分配权将转移到下一个等级最高的海盗手里,当然,他也将面临同样艰难的选择。
java达人
2020/12/16
4840
海盗分赃难题
近似推断难题
许多概率模型很难训练的原因是很难进行推断。在深度学习中,通常我们有一系列可见变量 v 和一系列潜变量 h。推断困难通常是指难以计算 p(h | v) 或其期望。而这样的操作在一些诸如最大似然学习的任务中往往是必需的。许多仅含一个隐藏层的简单图模型会定义成易于计算 p(h | v) 或其期望的形式,例如受限玻尔兹曼机和概率 PCA。不幸的是,大多数具有多层隐藏变量的图模型的后验分布都很难处理。对于这些模型而言,精确推断算法需要指数量级的运行时间。即使一些只有单层的模型,如稀疏编码,也存在着这样的问题。我们可以参考几个用来解决这些难以处理的推断问题的技巧,其描述了如何将这些技巧应用到训练其他方法难以奏效的概率模型中,如深度信念网络、深度玻尔兹曼机。
用户10360156
2023/03/02
2880
Python 列表解析 字典解析
列表解析 数据格式:[2, -8, -10, -9, 4, 0, 6, -2, 3, 3] from random import randint range_num = [ randint(-10,10) for _ in range(10) ] number = [ i for i in range_num if i >= 0 ] print(number) # filter 函数 number = filter(lambda x : x >= 0 ,range_num) print(list(n
简单、
2018/07/17
1.1K0
Python 列表解析 字典解析
列表解析 数据格式:2, -8, -10, -9, 4, 0, 6, -2, 3, 3 from random import randint range_num = [ randint(-10,10) for _ in range(10) ] number = [ i for i in range_num if i >= 0 ] print(number) # filter 函数 number = filter(lambda x : x >= 0 ,range_num) prin
简单、
2018/05/15
1.7K1
Python 列表解析 字典解析
python 解析XML
a.name #就是上面的 "id"   a.value #属性的值   访问元素属性
艳艳代码杂货店
2021/11/01
3.6K0
Python XML解析
----http://www.w3cschool.cn/python/python-xml.html
py3study
2020/01/10
2.4K0
python日志解析
If key is in the dictionary, return its value. If not, insert key with a value of default and return default. default defaults to None.
py3study
2020/01/14
5420
Python 之解析
Python 之列表/字典/集合解析 通过对列表/字典/集合每一个元素应用一个函数的方法将一个列表映射到另一个列表/字典/集合 准备知识 os (operating system) 模块 os.getcwd() 获取当前工作目录 >>> import os >>> print(os.getcwd()) c:\Users\sreamy os.chdir() 切换工作目录(使用正斜杠)
py3study
2020/01/15
4780
python 解析XML
a.name #就是上面的 "id"   a.value #属性的值   访问元素属性
代码伴一生
2021/11/01
3.2K0
Python - 头部解析
背景 写 python 的时候,基本都要加两个头部注释,这到底有啥用呢? #!usr/bin/env python # -*- coding:utf-8 _*- print("hello-world") python 头部注释的作用 头注释并不是为代码而服务,更多是被系统或解释器所调用 会告诉系统 Python 解释器在哪,脚本编码格式是啥 常用的头部注释 国内常用 定义 coding 告诉系统脚本是何种编码格式 # -*- coding:utf-8 _*- 很少用了 定义 #!,会去找指定路径下的 py
小菠萝测试笔记
2021/07/20
7980
python:解析URL
这个函数的性能实在太差了。10000次用了整整45s。 在不严格的情况下,自己用split进行判定会好很多。快了12倍。
超级大猪
2019/11/22
1.3K0
Python解析Yaml
yaml作为配置文件格式,比json和properties更加优化和结构化,而且还支持注释。python中一般使用PyYaml模块来解析yaml 安装 pip install pyyaml 配置文件 config.yaml # 用户信息(映射为dict) user: name: tenmao age: 100 gender: true # 亲戚信息(映射为list) relatives: - name: alice age: 18 gender: false
十毛
2021/01/29
1.3K0
Python解析Yaml
python命令解析
python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析python命令解析
狼啸风云
2020/02/11
4780
Python解析JSON
什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读。JSON是Javascript的一个子集,但JSON是独立于语
GavinZhou
2018/01/02
4.8K0
python解析邮件
前面我们讲到的接收邮件中,接收到的邮件把它打印出来,会发现是一堆很复杂的东西,很难阅读。这就需要我们去解析它
灯珑LoGin
2022/10/31
6870
Python解析式
在python中经常能够看到形如ret = [x ** 2 for x in lst]这样的赋值语句,对于从C++转到python的人不太容易理解这种for循环的使用,这就是python为了简洁而发明的新语法。python解析式有以下优点:
职场亮哥
2020/10/10
3780
python 解析xml
from urllib.request import urlopen from xml.etree.ElementTree import parse
用户5760343
2019/10/21
3.4K0

相似问题

XML解析难题

76

Python regexp难题

40

python字典难题

40

Python,Pygame列表难题

12

python“类”字难题

44
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档