1 txt文件读取
一:读取全部内容
#打开文件
txt_filename = "./files/python_.txt"
file_obj = open(txt_filename, 'r',encoding='utf-8')
#读取整个文件内容
all_content = file_obj.read()
# 逐行读取
line1 = file_obj.readline()
#如果想要读取下一行,则继续 readline
line2 = file_obj.readline()
#读取全部内容,返回列表
lines = file_obj.readlines()
for i,line in enumerate(lines):
print('第{}行:{}'.formart(i,line))
#读取完后要关闭文件
file_obj.close()
#写操作
file_obj.write("《Python 数据分析》")
#写入字符串列表
lines = ['这是第%i 行\n' %n for n in range(100)]
file_obj.writelines(lines)
#换行 \n
file_obj.write("《Python 数据分析》" + "\n")
file_obj.close()
2 csv文件读取
#csv操作使用pandas,打开文件,读取前5条数据
import pandas as pd
file_name = './files/test.csv'
#这里编码格式选择csv文件的编码格式,如果不知道的话,把csv文件使用Notepad++打开,然后选择编码——转为UTF-8 无BOM编码格式
df = pd.read_csv(filename,encoding='utf-8')
#head()默认显示前5条数据;pandas读取csv文件的数据,可以认为是一个二维数组
print(df.head())
#显示全部数据
print(df)
#读取某一列数据
country_se = df[u'国家']
#读取多列数据
dataset_path = './starcraft.csv'
df_data = pd.read_csv(dataset_path, usecols=['LeagueIndex', 'Age', 'HoursPerWeek',
'TotalHours', 'APM'])
#写CSV
df.to_csv(file_name,index=None,encoding='utf-8')
3 JSON操作
#打开文件,读取json(load)
import json
filename = './files/global_temperature.json'
with open(filename,'r') as f_obj:
json_data = json.load(f_obj)
#获取json中所有的key
print(json_data.keys())
#key对应的值
print(json_data['data'])
print(json_data['data'].keys())
print(json_data['data'].values())
#使用列表推导式 转换key的值
str_lst = json_data['data'].keys()
lst = [int(str) for str in str_lst ]
#写JSON数据
book_dict = [{'书名':'无声告白', '作者':'伍绮诗'}, {'书名':'我不是潘金莲', '作者':'刘震云'}, {'书名':'沉默的大多数 (王小波集)', '作者':'王小波'}]
with open(filename, 'w', encoding='utf-8') as f_obj:
f_obj.write(json.dumps(book_dict, ensure_ascii=False))