python 读取以空格分开的文件操作

在查找数据集的时候发现,并不是所有的数据集都是以csv的格式存储,也就是每一列特征数据的分割并不是都以逗号分割,有的数据格式是以空格为分割

例如.data格式,

接下来就实现对.data格式数据的读取:

(数据来源于Boston房价预测数据集,文件名称为“housing.data”)

import pandas as pd
data = pd.read_csv('./housing.data', delim_whiteshape=True)

以上代码就是实现了对空格的分割,但是不知道针对也是以一列存储,并且数据分割也是空格的csv文件此方法还行得通不。

另外pd.read_csv()中的参数sep和delimiter表示的意义一样,具体如何使用不清楚,目前用到不多。

遇到读取文件不知如何操作的,最后要访问下官方文档或者google查询。

pd.read_csv官方文档

另外,可以直接在原数据集文件加后缀名.csv即可转换成csv文件,但前提是data中的数据已经以,分割好了。

pd.read_csv()中读取文件时,默认第一行作为列名,但有时候第一行也是我们需要的数据,这时需制定参数header=None,或者给每列提前设置好名字,names=[‘column0',‘column1',…]

补充:python 实现以空格分隔的文件读写及二维数组按列折半查找

最近文件读写的工作比较多,每一次读文件都会写单独的函数来适应文件格式,所以写了一个类对文件进行操作。

(用pandas.read_csv读取文件更好用)

import os
class DealData:
    # 数据加载函数
    def load(self, filename):
        data = []
        file = open(filename, 'r')
        for line in file.readlines():
            line = line.strip('\n')         # 除去换行
            line = line.split(' ')          # 文件以“ ”分隔
            if "" in line:                  # 解决每行结尾有空格的问题
                line.remove("")
            data.append(line)
        file.close()
        return data

    # 折半查找                               # array是一个二维数组,函数实现的功能是按照array的第lie列折半查找
    def search(self, array, lie, target):
        low = 0
        high = len(array) - 1
        while array[low][lie] <= array[high][lie]:
            mid = int((low + high) / 2)
            midval = array[mid][lie]
            if midval < target:
                low = mid + 1
            elif midval > target:
                high = mid - 1
            if high < 0 or low >= len(array):
                break
        return high
    # 将数据保存到文件
    def save(self, data, filename):
        file = open(filename, 'w')
        for i in range(0, len(data), 1):
            for k in range(0, len(data[i]), 1):
                file.write(str(data[i][k]))
                file.write(" ")
            file.write("\n")
        file.close()

可以将Dealdata类单独创建一个python文件,命名为Dealdata,调用方法如下:

from DealData import DealData
deal = DealData()
totaldata = deal.load("E:\low_data.txt")

之前先引用类:from Dealdata import Dealdata, 其中第一个Dealdata为被调用的python文件名, 第二个Dealdata为被调用的类名。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 去除python中的字符串空格的简单方法

    python编程中,我们在修改代码,遇到空格很多的情况下,我们要删除空格.本文小编整理了三种字符串去除空格的方法: 方法一:使用字符串函数replace,去除全部空格. 实例: >>> a = " a b c " >>> a.replace(" ", "") 'abc' 方法二:使用字符串函数split,去除字符串开头或者结尾的空格. 实例: >>> a = ''.join(a.split()

  • 解决python的空格和tab混淆而报错的问题

    在python里头,空格和tab是区分开的,二者混在一起就会报错,要么只用空格,要么只用tab 如果你用的是python的官方编译器,通过以下方法可以直接将整个页面的间隔符号统一: 1. 全选整个代码(edit--select All) 2. 统一间隔符号为tab(format--tabify region),或者统一间隔符号为空格(format--untabify region) 补充:python 中缩进-- tab 还是空格是不一样的,一般不能混用,除非设置Tab自动替换成空格 如下所示:

  • Python 如何将字符串每两个用空格隔开

    我就废话不多说了,大家还是直接看代码吧~ example >>> import re >>> subject = '080045000106309140003F2F7D100A0A3C0A0A0A3D0A00000800450000EE000000003F06CCF0C0A8C864C0A8646400000000000000000000000050000000F7410000' >>> result = re.sub(r"(?<=\w

  • Python 实现一行输入多个数字(用空格隔开)

    很多人都会使用以下代码,来实现多个字符串的连续输入,但是这是以换行进行操作的,而有些题目需要将一些数字进行一行输入 a=input() b=input() 1.实现一行输入多个数字,并以空格隔开. a,b=map(int,input().split()) print(a,b) print(type(a)) #运行结果 1 2 1 2 <class 'int'> 2.实现一个输入多个单词,每个单词之间用逗号隔开. str1,str2=map(str,input().split(',')) pri

  • Python 字符串去除空格的五种方法

    在处理Python代码字符串的时候,我们常会遇到要去除空格的情况,所以就总结了多种方法供大家参考. 1.strip()方法 去除字符串开头或者结尾的空格 str = " Hello world " str.strip() 输出: "Hello world" 2.lstrip()方法 去除字符串开头的空格 str = " Hello world " str.lstrip() 输出: 'Hello world ' 3.rstrip()方法 去除字符串

  • python 解决Windows平台上路径有空格的问题

    最近在采集windows上中间件的时候,遇到了文件路径有空格的问题. 例如:Aapche的安装路径为D:\Program Files\Apache Software Foundation\Apache2.2. 采集apache要读取配置文件D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 执行一些D:\Program Files\Apache Software Foundation\Apache2.2\bi

  • python将每个单词按空格分开并保存到文件中

    核心代码 # -*- coding: utf-8 -*- ''' python读取英文文件,将每个单词按照空格分开,并将每个单词独自放一行 ''' def dcfenhang(infile,outfile): infopen = open(infile,'r',encoding='utf-8') outopen = open(outfile,'w',encoding='utf-8') lines = infopen.readlines() for line in lines: for db in

  • python 读取以空格分开的文件操作

    在查找数据集的时候发现,并不是所有的数据集都是以csv的格式存储,也就是每一列特征数据的分割并不是都以逗号分割,有的数据格式是以空格为分割 例如.data格式, 接下来就实现对.data格式数据的读取: (数据来源于Boston房价预测数据集,文件名称为"housing.data") import pandas as pd data = pd.read_csv('./housing.data', delim_whiteshape=True) 以上代码就是实现了对空格的分割,但是不知道针

  • python 读取txt,json和hdf5文件的实例

    一.python读取txt文件 最简单的open函数: # -*- coding: utf-8 -*- with open("test.txt","r",encoding="gbk",errors='ignore') as f: print(f.read()) 这里用open函数读取了一个txt文件,"encoding"表明了读取格式是"gbk",还可以忽略错误编码. 另外,使用with语句操作文件IO是个

  • python 读取文本文件的行数据,文件.splitlines()的方法

    一般跟踪训练的ground_truth的数据保存在文本文文件中,故每一行的数据为一张图片的标签数据,这个时候读取每一张图片的标签,具体实现如下: test_txt = '/home/zcm/tensorf/siamfc-tf-master/data/Biker/groundtruth.txt' def load_label_set(label_dir): label_folder = open(label_dir, "r") trainlines = label_folder.read

  • python调用函数、类和文件操作简单实例总结

    本文实例总结了python调用函数.类和文件操作.分享给大家供大家参考,具体如下: 调用函数有三种方式 一,导入整个模块(所有函数) 导入 import module_name 调用 module_name.function_name() 在这种情况中,不会出现下面两种方式的缺点,即具有相同函数名的问题,因为一个文件中不存在两个相同的文件名.但缺点是能不清晰显示出使用到的函数,调用的时候也需要重复写模块名. 二,导入模块中单个或多个函数 导入 from module_name import fu

  • python读取excel进行遍历/xlrd模块操作

    我就废话不多说了,大家还是直接看代码吧~ #!/usr/bin/env python # -*- coding: utf-8 -*- import csv import xlrd import xlwt def handler_excel(filename=r'/Users/zongyang.yu/horizon/ops_platform/assets/upload/1.xlsl'): # 打开文件 workbook = xlrd.open_workbook(filename) index =

  • python 读取Linux服务器上的文件方法

    使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址).端口号.用户名及密码 hostname = "" port = 22 username = "" password = "" client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.Au

  • Python SQL查询并生成json文件操作示例

    本文实例讲述了Python SQL查询并生成json文件操作.分享给大家供大家参考,具体如下: 1. 数据准备 SQL数据点击此处本站下载. 2. python代码 import datetime import os import mssqlhelper ms = mssqlhelper.MSSQL(host="192.168.0.108", user="sa", pwd="sa", db="ComPrject") def g

  • python读取目录下最新的文件夹方法

    如下所示: def new_report(test_report): lists = os.listdir(test_report) # 列出目录的下所有文件和文件夹保存到lists lists.sort(key=lambda fn: os.path.getmtime(test_report + "/" + fn)) # 按时间排序 file_new = os.path.join(test_report, lists[-1]) # 获取最新的文件保存到file_new print(fi

  • Python实现的简单读写csv文件操作示例

    本文实例讲述了Python实现的简单读写csv文件操作.分享给大家供大家参考,具体如下: python中有一个读写csv文件的包,直接import csv即可 新建test.csv 1.写 import csv with open("test.csv","w",encoding='utf8') as csvfile: writer=csv.writer(csvfile) writer.writerow(["index","a_name&

  • python读取hdfs上的parquet文件方式

    在使用python做大数据和机器学习处理过程中,首先需要读取hdfs数据,对于常用格式数据一般比较容易读取,parquet略微特殊.从hdfs上使用python获取parquet格式数据的方法(当然也可以先把文件拉到本地再读取也可以): 1.安装anaconda环境. 2.安装hdfs3. conda install hdfs3 3.安装fastparquet. conda install fastparquet 4.安装python-snappy. conda install python-s

随机推荐