目录
思路Python with CSVCSV 格式使用 Python 的 csv 库其他思路
简单的生成和读取 CSVCSV 文件格式使用 csv 库Python with CSV
先有个很朴素的生成和解析的方法。
生成:
data = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], ] for cow in data: print(",".join(map(str, cow)))
生成结果:
(资料图片)
1,2,3
4,5,6
7,8,9
解析
s = """1,2,3 4,5,6 7,8,9 """ cows = s.splitlines() data = [] for cow in cows: items = cow.split(",") data.append(items) # data # [["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"]]
但是显示的数据可能不这么理想,比如其中的某一项有,
的时候就会有问题了。
CSV 格式
CSV 中有几个概念需要先了解下。CSV 虽然是 Comma-separated values 但并不一定用逗号来分隔,也可以用其他的来分隔。同时 CSV 也没有一个明确的规范。
从Python 的 csv 的文档中看到的一些关键术语:
delimiter
,最基本的分隔符
quotechar
,如果某个 item 中包含了分隔符,应该用 quotechar 把它包裹起来
doublequote
,如果某个 item 中出现了 quotechar 那么可以把整个内容用 quotechar 包裹,并把 quotechar double 一下用来做区分
escapechar
,如果不用 doublequote 的方法还可以用 escapechar 来辅助
lineterminator
,每一行的结束符,默认的是\r\n
quoting
,可以选择任何时候都使用 quotechar 来包裹内容,或者是需要用到的时候再用,或者不用
skipinitialspace
,是否忽略分隔符后面跟着的空格
strict
,这个是 Python 自己的,是否抛要异常
(上面的可能没有覆盖所有的细节,但大概就是这样的情况)
使用 Python 的 csv 库
13.1. csv — CSV File Reading and Writing — Python 2.7.12 documentation
很简单的例子就是
import csv with open("some.csv", "rb") as f: reader = csv.reader(f) for row in reader: print row
import csv with open("some.csv", "wb") as f: writer = csv.writer(f) writer.writerows(someiterable)
另外这里面有个 dialect 的概念,就是用一个 dialect 来定义上面提到的那些解析规则。
可以自己注册(csv.register_dialect
)、列出所有的(csv.list_dialects
)、获取某个(csv.get_dialect
)。
默认是用逗号分隔的excel
的 dialect,所以如果没有特殊情况应该直接使用默认值就够了。
其他
这次先只把基本概念了解下,后面可能还有文件编码之类的坑,到时遇到了再回来更新。
参考
PEP 305 -- CSV File API | Python.org
13.1. csv — CSV File Reading and Writing — Python 2.7.12 documentation
以上就是Python CSV 文件解析和生成方法示例的详细内容,更多关于Python CSV文件解析生成的资料请关注脚本之家其它相关文章!
X 关闭
X 关闭
- 1转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 2充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 3好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 4名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 5亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 6京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 7网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久
- 8市场竞争加剧,有车企因经营不善出现破产、退网、退市
- 9北京市市场监管局为企业纾困减负保护经济韧性
- 10市场监管总局发布限制商品过度包装标准和第1号修改单