当前位置:   article > 正文

Python两种读取txt与csv文件方式(利用numpy处理数据)_python读取txt文件并处理数据

python读取txt文件并处理数据

数据集

csv文件内容

一共80个数据(只截取前10个数据)

在excel中显示的内容

csv数据在excel中显示的内容

在pycharm中显示的内容

csv数据在pycharm中显示内容

txt文件内容

一共80个数据

在记事本中显示的内容

txt数据在记事本中显示的内容

在pycharm中显示的内容

txt数据在pycharm中显示的内容

利用pandas方式读取

一、csv文件

1、读取所有内容

import pandas as pd
data_pd = pd.read_csv("Sheet1.csv")
# 读取表头元素
head_label = list(Sheet1.columns.values)
# head_label打印结果为
#['序号', '学号', '身高(CM)', '体重(KG)', '鞋码', '发长(CM)', '性别(0/1)']
print(data_pd)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

data_pd打印结果

csv读取所有内容

2、数据转为numpy

import numpy as np
import pandas as pd

Sheet1 = pd.read_csv("Sheet1.csv")
# 将Sheet1变为矩阵形式存储在Sheet2中
Sheet2 = np.array(Sheet1) # 会自动将首行汉字去除,如果没有可以切片,切除首行数据
# 只提取我们所需要的特征值 ['身高(CM)', '体重(KG)', '鞋码', '发长(CM)', '性别(0/1)']
 # 提取Sheet2的所有行与从第二列向后的所有列数据,并转为numpy数组
data_np = np.array(Sheet2[:, 2:])
print(data_np) # 维度 (80, 5)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

data_np打印结果

csv文件数据转为numpy

二、txt文件

1、读取所有内容

import pandas as pd

data_pd = pd.read_table('Sheet_text.txt', sep=',')  # 读入txt文件,分隔符为,
print(data_pd)
  • 1
  • 2
  • 3
  • 4

data_pd打印结果

txt读取所有内容

2、数据转为numpy

import csv
import numpy as np

data_list = []
with open("Sheet1 - 副本.csv", "r") as CSVF:
    reader = csv.reader(CSVF)
    for line in reader:
        data_list.append(line)
data_np = np.array(data_list)
print(data_np) # 维度 (81*7)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

data_np打印结果

txt数据转为numpy

利用csv包方式读取

一、csv文件

1、读取所有内容

由于原来的Sheet1数据首行有中文所以读取时不方便读取
建议使用pandas读取,或直接删除首行中文,或将中文改为英文
这里我将中文改为英文
更改后csv文件:
更改后csv文件

import csv

data_list = []
with open("Sheet_ENG.csv", "r") as CSVF:
    reader = csv.reader(CSVF)
    for line in reader:
        data_list.append(line)
print(data_list) # 将数据存储在列表中
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

data打印部分结果

csv文件读取所有内容

2、数据转为numpy

import csv
import numpy as np

data_list = []
with open("Sheet1 - 副本.csv", "r") as CSVF:
    for line in csv.reader(CSVF):
        data_list.append(line)
data_np = np.array(data_list)
print(data_np) # 维度 (81*7)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

data_np打印结果

data_np打印结果

二、txt文件

1、读取所有内容

data_list = []
with open('Sheet_text.txt', encoding='utf-8') as file_obj: 
# encoding='utf-8'文件编码格式为utf-8,否则文字无法输出
    for line in file_obj:
        data_list.append(line.rstrip().split(',')) # rstrip()去掉换行符
print(data_list)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

txt文件读取所有内容

2、数据转为numpy

import numpy as np
data_list = []
with open('Sheet_text.txt', encoding='utf-8') as file_obj:
    for line in file_obj:
        data_list.append(line.rstrip().split(','))
data_np = np.array(data_list)
print(data_np) #维度为 (81, 7)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

data_np打印结果

txt文件数据转为numpy

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/596013
推荐阅读
相关标签
  

闽ICP备14008679号