Python从txt读取数据并写入csv文件

将如下数据写入到csv文件中

  • data.txt

id,name,salary,start_date,dept
1,Rick,623.3,2012-01-01,IT
2,Dan,515.2,2013-09-23,Operations
3,Tusar,611,2014-11-15,IT
4,Ryan,729,2014-05-11,HR
5,Gary,843.25,2015-03-27,Finance
6,Rasmi,578,2013-05-21,IT
7,Pranab,632.8,2013-07-30,Operations
8,Guru,722.5,2014-06-17,Finance

  • test.py
#!/usr/bin/python3
# -*- coding: utf-8 -*-

# 导入CSV安装包
import csv

# 写入CSV文件
def getData(srcPath, dstPath):
    # 1. 读取数据
    data = []
    with open(srcPath,'r') as f:
        for line in f:
            data.append(list(line.strip().split(',')))
    # 2. 创建文件对象
    f = open(dstPath,'w',encoding='utf-8',newline='')
    # 3. 基于文件对象构建 csv写入对象
    csv_writer = csv.writer(f)
    # 4. 写入csv文件内容
    csv_writer.writerows(data)
    # 5. 关闭文件
    f.close()
    return data

# 获取特定行
def getDataFromRow(rol):
    return data[rol]

# 获取特定列
def getDataFromCol(col):
    return list(zip(*data))[col]

# 主函数
if __name__ == '__main__':
    # 起止索引2-6
    startIndex = 2
    endIndex = 6
    # 源数据文件
    srcPath = 'data.txt'
    # 目标csv文件
    dstPath = 'test.csv'
    # 写入文件
    data = getData(srcPath, dstPath)
    # 输出2-6行的对应数据
    for i in range(startIndex, endIndex+1):
        name = data[i][1]
        salary = data[i][2]
        print('name: %s, salary: %s' % (name, salary))


执行结果
在这里插入图片描述
输出的csv文件
在这里插入图片描述

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值