Python读取写入文件(.csv, .txt, .xlsx)

一、CSV文件

1.Python读取csv(三种方法)

普通方法
a = []
a1 = []
with open('fileName.csv') as file:
	for line in file:
		print(line)
		a1.append(line)
	a.append(a1)
用csv库读取
import csv
csv_reader = csv.reader(open('fileName.csv'))
for row in csv_reader:
	print(row)
用pandas读取
  1. read_csv :
 import pandas as pd
 data = pd.read_csv('fileName.csv',encoding='GBK')
 print(data)
 #_encoding可选‘utf-8’,'GBK'等,一般有中文的话选择GBK_
  1. read_table
data = pd.read_table('fileName.csv',sep=',')
print data

数据类型:一维Series,多维DataFrame
DataFrame
3.1 查看行名:data.index
3.2查看列名:data.columns
3.3查看数据值:data.values,返回的是数组

2. Pandas写入csv

#数据写入csv
f = open('fileName.csv','w')
data = [['a', 1],['a', 3],['b',1],['b',2],['c',1],['c', 5]]
for line in data:
	f.write(str(line))
	f.write('\n')
f.close()

二、 txt文件

用numpy读取txt

loadtxt():把文件("*.txt")读入,并以矩阵或者向量的形式输出。
参数:
skiprpws:跳过首行;
usecols:读取的列index,默认全部;
delimiter:列的分割方式,默认是空格

import numpy as np 
data = np.loadtxt('fileName.txt,'usecols = [1, 2, 3],skiprows = 1, delimoter = ',')

三、xlsx文件

1. 用pandas读取xlsx文件

  • sheet_name:指定读取第几个sheet,sheet从0开始计数,一次可以读取多个sheet;None:所有表作为数据文件;
  • header:列标签,如果没有标签设置为None;
  • skiprows:代表读取跳过的行数,索引从0开始;
  • skip_footer:结束时的行;
  • index_col:用作DateFrame的行标签;
  • name:要使用的列名列表,header=None,则没有name;
  • converters:字典,默认None;在某些列中转换值的函数命令,键可以是整数或者列标签,值是接受一个输入参数的函数,Excel单元格的内容,并返回转换后的内容
  • usecols:None,解析所有列;int,该列被解析;ints,列表要解析的列表号列表使用;
import pandas as pd
data = pd.read_excel('fileName.xlsx',sheet_name=[0,2], head=None)

2.写入xlsx文件

excel的写入函数是:pd.DataFrame.to_excel():必须是DataFrame写入excel:

  • excel_writer:字符串或ExcelWriter对象
  • sheet_name:写入的sheet名称
  • header:写出列名
  • columns:选择输出的列存入
  • na_rep:缺失值填充,可以设置为字符串或数字
  • startrow:左上角的单元格行来转储数据框
  • startcol:左上角的单元格列来转储数据帧
# data是DataFrame格式
columns=['a', 'b', 'c']
data.to_excel('fileName.xlsx', columns=columns, na_rep=111)
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值