Python用csv写入文件_消除空余行的方法

作者:YouthDance 时间:2022-04-01 09:24:57 

只做简单地记录,方便一下使用!python关于csv模块的介绍网上有很多资料,这里就不在赘诉。直接给出代码和解释。

数据:


Symbol,Price,Date,Time,Change,Volume
"AA",39.48,"6/11/2007","9:36am",-0.18,181800
"AIG",71.38,"6/11/2007","9:36am",-0.15,195500
"AXP",62.58,"6/11/2007","9:36am",-0.46,935000
"BA",98.31,"6/11/2007","9:36am",+0.12,104800
"C",53.08,"6/11/2007","9:36am",-0.25,360900
"CAT",78.29,"6/11/2007","9:36am",-0.23,225400

一、csv读入文件消除空余行


import csv
#@param: wb:覆盖原来的文件内容
#@param: ab+:追加文件内容

with open('input.csv','wb') as f:
f_csv = csv.writer(f)
f_csv.writerow(headers)  #读入项目标签名
#  f_csv.writerows(rows)
id = 1
for row in rows:
 row = list(row)   #转换成list,因为原始是tupple
 row.insert(0,id)   #根据特定的题目要求!
 f_csv.writerow(row)
 id += 1

二、读取为一个元组的序列


import csv
with open('stocks.csv') as f:
f_csv = csv.reader(f)
headers = next(f_csv)
for row in f_csv:
 # Process row
 ...

在上面的代码中, row 会是一个列表。因此,为了访问某个字段,你需要使用下标,如 row[0] 访问Symbol, row[4] 访问Change。

三、将数据读取到一个字典序列中


mport csv
with open('stocks.csv') as f:
f_csv = csv.DictReader(f)
for row in f_csv:
 # process row
 ...

在这个版本中,你可以使用列名去访问每一行的数据了。比如,row['Symbol'] 或者 row['Change']。

四、写入数据

为了写入CSV数据,你仍然可以使用csv模块,不过这时候先创建一个 writer 对象。例如:


rows = [('AA', 39.48, '6/11/2007', '9:36am', -0.18, 181800),
  ('AIG', 71.38, '6/11/2007', '9:36am', -0.15, 195500),
  ('AXP', 62.58, '6/11/2007', '9:36am', -0.46, 935000),
 ]

with open('stocks.csv','w') as f:
f_csv = csv.writer(f)
f_csv.writerow(headers)
f_csv.writerows(rows)

如果你有一个字典序列的数据,可以像这样做:


headers = ['Symbol', 'Price', 'Date', 'Time', 'Change', 'Volume']
rows = [{'Symbol':'AA', 'Price':39.48, 'Date':'6/11/2007',
 'Time':'9:36am', 'Change':-0.18, 'Volume':181800},
 {'Symbol':'AIG', 'Price': 71.38, 'Date':'6/11/2007',
 'Time':'9:36am', 'Change':-0.15, 'Volume': 195500},
 {'Symbol':'AXP', 'Price': 62.58, 'Date':'6/11/2007',
 'Time':'9:36am', 'Change':-0.46, 'Volume': 935000},
 ]

with open('stocks.csv','w') as f:
f_csv = csv.DictWriter(f, headers)
f_csv.writeheader()
f_csv.writerows(rows)

写入数据最麻烦的问题就是无缘无故的每行数据结束后都会自动多出一个空行的问题。这就是写这篇文章的意义,处理方法就是《一》中的介绍的内容。

来源:https://blog.csdn.net/zhongshijunacm/article/details/52049231

标签:python,csv,写入
0
投稿

猜你喜欢

  • Python 序列化 pickle/cPickle模块使用介绍

    2021-04-28 17:23:21
  • 一行Python3代码实现解析地址信息

    2023-11-02 14:27:30
  • 如何用Python徒手写线性回归

    2023-06-12 13:47:14
  • 情人节快乐! python绘制漂亮玫瑰

    2021-02-07 18:22:48
  • Python切片知识解析

    2022-06-07 06:31:58
  • Python3基础教程之递归函数简单示例

    2022-07-19 17:19:16
  • python同时替换多个字符串方法示例

    2021-11-25 00:37:54
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间

    2023-08-04 02:11:09
  • asp清空站点缓存

    2009-08-04 18:01:00
  • Python画图常用命令大全(详解)

    2023-04-17 15:20:16
  • python实现linux服务器批量修改密码并生成execl

    2022-11-22 17:16:06
  • Python3爬虫中关于中文分词的详解

    2023-08-12 23:10:28
  • Python3 pandas 操作列表实例详解

    2021-11-30 14:24:12
  • Oracle 创建监控账户 提高工作效率

    2009-10-14 11:47:00
  • 平面设计中的文字设计

    2009-01-15 12:09:00
  • 基于Python的EasyGUI学习实践

    2021-09-05 10:54:55
  • python使用sklearn实现决策树的方法示例

    2023-03-25 07:44:28
  • 使用python实现ftp的文件读写方法

    2022-02-06 11:25:03
  • python使用Pyinstaller如何打包整个项目

    2021-10-27 04:10:58
  • pandas 实现 in 和 not in 的用法及使用心得

    2021-10-23 12:25:07
  • asp之家 网络编程 m.aspxhome.com