'''
read_csv:从文件,url,文件型对象中加载带分隔符的数据,默认分隔符为逗号
read_table:从文件,url,文件型对象中加载带分隔符的数据,默认分隔符为制表符("\t")
实质上是通用的,都是返回一个DataFrame,在实际使用中可以通过对sep参数的控制来对任何文本文件读取
CSV文件和TXT文件是等同的,无论是读取还是写入。另一个相同点是读写速度比EXCEL快,快得多。当然xlsx格式的文件小。

'''

from pandas import read_csv;

df = read_csv("..\1.csv",encoding='UTF-8')
df

from pandas import read_table;
#seq表示分割的形式
df = read_table('..\2.txt',names=['age', 'name'], sep=',')
df

from pandas import read_excel;
df = read_excel("..\3.xlsx",sheetname="data")
df

from pandas import read_table;
from pandas import DataFrame;

df = read_table('..\中文.txt', sep=',', encoding='UTF-8')
df
from pandas import DataFrame;

df = DataFrame({
    'age': [21, 22, 23], 
    'name': ['KEN', 'John', 'JIMI']
});


df.to_csv("..\f.csv", index=False);

其他基本处理

去重
newDF = df.drop_duplicates();

去数据结构中为空的数据
newDF = df.dropna()

去除数据两边的空格
newName = df['name'].str.strip()

字段截取
df['tel'] = df['tel'].astype(str) #先要把数字转换成字符串格式
#运营商
bands = df['tel'].str.slice(0, 3)

字段拆分
from pandas import Series
from pandas import DataFrame
from pandas import read_csv
df = read_csv("D:\\Python\\3.2\\2.csv")
newDF = df['name'].str.split(' ', 1, True)
#‘’表示分割的形式,1,表示分为两列;True。表示扩展。扩展的返回值为DataFrame.相反为Series

指定条件的高级处理

随机抽数
r = numpy.random.randint(0, 10, 3)
#0-10之间抽3个数字

记录合并
import pandas
from pandas import read_csv
df1 = read_csv("D://4.1//data1.1.csv", sep="|")
df2 = read_csv("D://4.1//data2.2.csv", sep="|")
df3 = read_csv("D://4.1//data3.3.csv", sep="|")
df = pandas.concat([df1, df2, df3])

字段拼接
from pandas import read_csv;
df = read_csv(
    "D://PA//4.11//data.csv", 
    sep=" ", 
    names=['band', 'area', 'num']
);
df = df.astype(str);
tel = df['band'] + df['area'] + df['num']

两表精确匹配
import pandas;
from pandas import read_csv;

items = read_csv(
    "D://PA//4.12//data1.csv", 
    sep='|', 
    names=['id', 'comments', 'title']
);
prices = read_csv(
    "D://PA//4.12//data2.csv", 
    sep='|', 
    names=['id', 'oldPrice', 'nowPrice']
);

itemPrices = pandas.merge(
    items, #一表
    prices, #二表
    left_on='id', #一表匹配的对象
    right_on='id'#二表匹配的对象
);

另外还有时间格式数据的处理

参考链接:

https://blog.csdn.net/weixin_42612434/article/details/82759001 

 

posted on 2020-07-02 21:50  topass123  阅读(200)  评论(0编辑  收藏  举报