当前位置: 首页 > article >正文

手动创建数据集(csv文件),用于Pytorch深度学习

文章目录

    • 基础知识
      • 创建多级目录
      • 多级路径拼接
      • 打开文件并对文件进行读写
    • 创建CSV数据集的简单例子

基础知识

创建多级目录

os.makedirs()是Python中一个用于创建多级目录的函数,如果指定的目录不存在,则会递归地创建它。

函数定义如下:

os.makedirs(name, mode=0o777, exist_ok=False)

参数说明

  • name: 要创建的目录的路径。可以是绝对路径或相对路径。如果包含多级目录,且其中某一级目录不存在,函数将会递归创建该目录及其所有父目录。
  • mode: 可选参数,指定目录权限。默认值为0o777,即最大权限。(这个参数在Windows系统上不起作用)。
  • exist_ok: 可选参数,指定当目录已经存在时是否抛出异常。如果设置为True,则不会抛出异常;如果设置为False,则会抛出FileExistsError异常。默认值为False。

多级路径拼接

在Python的os模块中,os.path.join()函数是用来拼接路径的函数。这个函数可以将多个字符串拼接成一个路径,保证路径的正确性,适用于各种操作系统。

os.path.join(path1[, path2[, ...]])

返回值:将多个路径组合后返回一个新的路径字符串。

使用示例

import os
# 用os.path.join()函数将多个路径拼接成一个完整的路径
path = os.path.join('Users', 'tom', 'Documents', 'file.txt')
print(path) # 输出:Users/tom/Documents/file.txt

上面的示例中,我们将多个路径片段拼接起来,并使用os.path.join()函数生成一个完整的路径。注意,在不同操作系统上生成的路径可能会有所不同,但使用os.path.join()函数可以保证生成的路径是正确的。

打开文件并对文件进行读写

在Python中,使用with open as语句可以方便地打开文件并进行读写操作。这种语法可以让我们不用手动地打开和关闭文件,而是在语句块结束时自动关闭文件,从而避免了因忘记关闭文件而导致的资源泄漏和其他问题。

使用with open as语句的一般形式如下:

with open(filename, mode) as file:
    # 在语句块中进行文件操作

其中,filename是要打开的文件名,可以是相对路径或绝对路径;mode是打开文件的模式,可以是’r’(只读模式)、‘w’(覆盖写入模式)、‘a’(追加写入模式)等等。

with open as语句块中,我们可以使用file这个文件对象进行文件操作,例如读取文件内容、写入文件等等。在语句块结束时,Python会自动关闭文件。

创建CSV数据集的简单例子

import os
os.makedirs(os.path.join('..', 'data'), exist_ok=True)
data_file = os.path.join('..', 'data', 'house_tiny.csv')
with open(data_file, 'w') as f:
    f.write('NumRooms,Alley,Price\n')  # 列名
    f.write('NA,Pave,127500\n')  # 每行表示一个数据样本
    f.write('2,NA,106000\n')
    f.write('4,NA,178100\n')
    f.write('NA,NA,140000\n')

读取csv文件中的数据,可以通过pandas库中的read_csv(data_file)进行


http://www.kler.cn/a/2041.html

相关文章:

  • 条款33 对auto形参使用decltype以std::forward它们
  • JVM性能优化一:初识内存泄露-内存溢出-垃圾回收
  • Vue3之路由(Router)介绍
  • PHY6239:具有高精确度AFE的无线MCU芯片,常用在智能穿戴上
  • Kingbase数据库备份还原操作手册
  • Elasticsearch 集群快照的定期备份设置指南
  • 【运维】运维常用命令
  • 【Linux】学会这些基本指令来上手Linux吧
  • iOS 紧急通知
  • nodejs篇 express(1)
  • Python 可视化最频繁使用的10大工具
  • RK3588平台开发系列讲解(NPU篇)NPU调试方法
  • LeetCode--缺失的第一个正数(41)和 接雨水(42)
  • Elastic 之 elasticsearch 基本操作
  • 【数据结构】千字深入浅出讲解队列(附原码 | 超详解)
  • 【设计模式】UML、RUP、元素、关系、视图
  • 二分查找法
  • 经典七大比较排序算法 · 下 + 附计数和基数排序
  • 如何用matlab工具箱训练一个SOM神经网络
  • synchronized 加锁 this 和 class 的区别
  • QT | 编写一个简单的上位机
  • GEC6818开发板JPG图像显示,科大讯飞离线语音识别包Linux_aitalk_exp1227_1398d7c6运行demo程序,开发板实现录音
  • 思维导图模板怎么制作?提供几种思路
  • chatgpt3.5和chatgpt4的区别
  • GPT4论文翻译 by GPT4 and Human
  • 网络安全之防火墙