Excel在实际的数据处理中,使用的不多,但是在数据分析中,却常常作为一个基本工具使用。
为了有效的和使用这个工具的人交流,了解一些这个工具的注意点,同时将这个格式转化为自己常用的数据格式是很有必要的
1.Excel处理文件--需要注意的地方
Excel常常用来处理的文件格式有.xls,.xlsx,csv
1.数据量
1.如果文件的后缀名为*.xls,那么它最多就是65536行
2.如果文件的后缀名为.xlsx,那么它最多就是1048576行
从Excel2007开始最大行是1048576==1024*1024=== FFFFF+1
2.跨平台特性
01.科学计数法
原因:EXCEl默认常规单元格式,输入或导入11位以上的数字,
不仅仅显示科学计数法,还会在15位后面的数字补0,导致存储丢失。
文本TXT文件或CSV文件中包含15位以上的数字,直接使用的EXCEL打开同样会出现科学计数法15位后补0
解决办法:
csv文件用文本编辑器打开,比如自带的记事本
或者自文本导入Excel,分列选文本格式<先打开Excel,然后使用文本导入
1.新建一个excel,打开
2.数据-》自文本
3.选择需要打开的csv文件
4.分隔符号-》空格(可以使它们不是一列显示)-》文本(这个就是确定是不是科学计数法显示)-》完成
02.出现乱码
文件的编码方式--常见于处理中文的编码时出现
3.安全性
备份和保密
2.将Excel文件变为CVS格式--然后使用R语言读取csv格式
# -*- coding: utf-8 -*-
import os
import xlrd
import pandas as pd
# use the python 2.7
# # filename = raw_input('Enter file name: ')
filename = "D:/Data/test.xlsx"
LocalFile = filename.decode('utf-8').encode('gbk')
print("文件是"+ LocalFile)
# outDir = raw_input('Enter outFile dir: ')
# os.chdir(outDir) #更改当前的工作目录
os.chdir("D:/Data/Temp")
print("当前工作路径"+os.getcwd()) # 获取当前的工作目录
# 计算excel表格中sheet的个数
excelData = xlrd.open_workbook(LocalFile)
countNum = len(excelData.sheets())
# 读取Excel中的工作表,并将工作表分别存储为csv格式
# 读取Excel文件--分别存储
##读取的列数
toReadCol = 9
for i in range(countNum):
# # 读入前是Excel存储格式-内部形式,使用读入的函数是read_excel,读入之后变为pandas的DataFrame对象
data_each = pd.read_excel(LocalFile, sheetname=i, encoding="utf-8") # 读取Excel文件
data_each_back = data_each[data_each.columns[0:toReadCol]]
# 保存的文件名
outFile = "outFile"+str(i)+".csv"
print(outFile)
data_each_back.to_csv(outFile, index=False, encoding="GBK")
# #读取Excel--联合
# 逐个读取每个sheet,并进行合并
data_sum = pd.read_excel(LocalFile, sheetname=0, encoding="utf-8") # 读取Excel文件
col1 = data_sum.columns[0:9] # 按照列索引-提取列
# 按照列名-列,这个在py2有乱码的可能
data_sum = data_sum[col1]
for i in range(countNum):
print(i)
data1 = pd.read_excel(LocalFile, sheetname=i, encoding="utf-8") # 读取Excel文件
data_sum = pd.concat([data_sum, data1[col1]])
data_sum.to_csv("AllComData.csv", index=False, encoding="GBK")
print("Success")
#os.system("pause")
# # 打包成可执行文件
# # # pyinstaller --console --onefile D:\Data\ReadExcel2csv.py
参考:
python操作Excel读写--使用xlrd http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html
https://pypi.python.org/pypi/xlrd