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读取
- read_csv :
import pandas as pd
data = pd.read_csv('fileName.csv',encoding='GBK')
print(data)
#_encoding可选‘utf-8’,'GBK'等,一般有中文的话选择GBK_
- 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)