利用Python3读写常用文件中的数据


专业需要,平时需要处理比较多的数据文件,仅根据平时处理的比较多的文件类型给出解决方案,不是最好的处理方法,仅个人偏好。


1. open()函数

文件读取


假设我们导入的是逗号分隔的CSV文件或者Tab分隔的TXT文件,我们需要遍历这张表中的每个元素做处理

fh = open("path_name", "r", encoding = "gb18030", errors = "ignore") # path_name是文件路径
for line in fh:  # 按行读取,每行作为字符串被读取
    line = line.strip('\n') # 去掉每行的换行符
    line = line.split(',') # TXT文件则改为'\t',这一行的元素将会被保存为列表
    ....... # 一系列操作
fh.close() # 有open就一定要有close

文件写入


以写入CSV文件为例,比方说按行写入一个表格

fh = open("path_name", "w", encoding = "gb18030", errors = "ignore") # 读是r写是w
while ... : # 循环写入,省略号表示循环条件
    fh.write("xxx" + "," + "xxx" + ",")
    fh.write("xxx" + "\n")
    fh.writeline("xxx" + "," + "xxx" + "," + "xxx") # 条件允许的情况下用writeline()函数,不用加"\n"
fh.close()

2. DataFrame

column1column2column3
index1value11value12value13
index2value21value22value23
index3value31value32value33

对形如上表的CSV文件Excel文件等可以用DataFrame来解决,这里以Excel为例。

文件读取


import pandas as pd # 导入pandas模块

df = pd.read_excel("path_name")
data = df.values # value对应的object,如果全是数值则为numpy.ndarray
index = list(df.index) # 这里注意df.index不是列表,需要手动转换
columns = list(df.columns)

文件写入


df = pd.DataFrame(data, index = index, columns = columns)
df.to_excel("path_name")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值