有很多使用python读取csv数据的例子,像这样: import csv with open('some.csv', newline='') as f: reader = csv.reader(f) for row in reader: print(row) 我只想读取一行数据并将其input到各种variables中。 我怎么做? 我到处寻找一个工作的例子。 我的代码只检索我的值,而没有其他值 reader = csv.reader(csvfile, delimiter=',', quotechar='"') for row in reader: i = int(row[0]) a1 = int(row[1]) b1 = int(row[2]) c1 = int(row[2]) x1 = int(row[2]) y1 = int(row[2]) z1 = int(row[2])
鉴于:一个大的文本数据文件(如CSV格式)与“特殊”的第一行(例如,字段名称)。 通缉:相当于coreutils split -l命令,但还要求原始文件的标题行出现在每个结果段的开头。 我猜测一些混合的split和head会做的伎俩?
我不确定最佳实践在这里,但是我经常会看到缩写的variables名,特别是当范围很小的时候。 所以(使用简单的Ruby示例)而不是def add_location(name, coordinates) ,我看到了诸如def add_loc(name, coord)东西 – 我甚至可能会看到类似def add_loc(n, x, y) 。 我想象一下,当他们习惯于看缩写词的时候,更长的名字可能会使人厌倦。 冗长是否有助于可读性,还是只是伤害了每个人的眼睛?人们更喜欢缩写和缩短的名字,而不是更长的名字?
有没有办法来转换这个: /C:/Users/David/Dropbox/My%20Programs/Java/Test/bin/myJar.jar 进入这个吗? C:\Users\David\Dropbox\My Programs\Java\Test\bin\myJar.jar 我正在使用下面的代码,它将返回.JAR归档或/ bin目录的完整path。 fullPath = new String(MainInterface.class.getProtectionDomain() .getCodeSource().getLocation().getPath()); 问题是, getLocation()返回一个URL ,我需要一个正常的Windows文件名。 我已经尝试在getLocation()之后添加以下内容: toString()和toExternalForm()都返回: file:/C:/Users/David/Dropbox/My%20Programs/Java/Test/bin/ getPath()返回: /C:/Users/David/Dropbox/My%20Programs/Java/Test/bin/ 请注意应该转换为空格的%20 。 有没有一个简单快捷的方法呢?
我正在收到一个查找本地文件的URL(我收到一个URL的事实不在我的控制之中)。 该URL按照RFC2396中的定义有效地转义。 我怎样才能把它转换成一个Java文件对象? 有趣的是,URL getFile()方法返回一个string,而不是一个文件。 我创build了一个名为“/ tmp / some dir”的目录(在“some”和“dir”之间有一个空格字符),该目录通过以下URL正确定位:“file:/// tmp / some%20dir” (为了清楚起见,添加引号)。 如何将该URL转换为Java文件? 为了提供更多关于我的问题的细节,以下内容将显示false: URL url = new URL( "file:///tmp/some%20dir" ); File f = new File( url.getFile() ); System.out.println( "Does dir exist? " + f.exists() ); 虽然以下(用空格手动replace“%20”)打印为真: URL url = new URL( "file:///tmp/some%20dir" ); File f = new File( url.getFile().replaceAll( "%20", " " […]
从shell脚本的目录中select一个随机文件的最佳方法是什么? 这里是我在Bash中的解决scheme,但是对于在Unix上使用的更便携(非GNU)版本,我会非常感兴趣。 dir='some/directory' file=`/bin/ls -1 "$dir" | sort –random-sort | head -1` path=`readlink –canonicalize "$dir/$file"` # Converts to full path echo "The randomly-selected file is: $path" 任何人有任何其他的想法? 编辑: lhunathparsingls的好处。 我想这归结于你是否想要移植或不移动。 如果你有GNU findutils和coreutils,那么你可以这样做: find "$dir" -maxdepth 1 -mindepth 1 -type f -print0 \ | sort –zero-terminated –random-sort \ | sed 's/\d000.*//g/' 噢,那很有趣! 从我说的“随机文件”来看,它更符合我的问题。 尽pipe如此,现在很难想象一个安装了GNU但不包含Perl 5的Unix系统。
我想build立一个程序,检测一个USB(或两个或更多)是否插入(并将所有内容复制到硬盘上的任何文件夹) 有任何想法吗? 我有这个, using System.Runtime.InteropServices; 但是这不是一个简单的方法(我相信)。 我想要简单的东西。 我有另一个想法(如果(文件夹存在),然后复制)的东西 – 但可能有一个问题,我想要一个很好的解决scheme。 也可能有一个称为SerialPort的工具; 我可以使用它吗? 如果是这样,我该如何使用它?
我正在尝试在Python中读取BMP文件。 我知道前两个字节表示BMP公司。 接下来的4个字节是文件大小。 当我执行时: fin = open("hi.bmp", "rb") firm = fin.read(2) file_size = int(fin.read(4)) 我明白了 ValueError:int()与基数10的无效文字:'F#\ x13' 我想要做的就是将这四个字节作为一个整数来读取……看来Python正在将它们读作字符并返回一个不能转换为整数的string。 我如何正确地做到这一点?
我有一系列文件的完整path的string。 我想只保存文件名,没有文件扩展名和前导path。 所以从这个: c:\temp\myfile.txt 至 myfile 我实际上并没有遍历一个目录,在这种情况下,可以使用像powershell的basename属性,而是我单独处理string。
我从外部进程收到一个string。 我想使用该string来创build一个文件名,然后写入该文件。 这是我的代码片段来做到这一点: String s = … // comes from external source File currentFile = new File(System.getProperty("user.home"), s); PrintWriter currentWriter = new PrintWriter(currentFile); 如果s在一个基于Unix的操作系统中包含一个无效的字符,比如'/',那么java.io.FileNotFoundException(正确)被抛出。 如何安全地编码string,以便它可以用作文件名? 编辑:我希望是一个API调用,为我做这个。 我可以做这个: String s = … // comes from external source File currentFile = new File(System.getProperty("user.home"), URLEncoder.encode(s, "UTF-8")); PrintWriter currentWriter = new PrintWriter(currentFile); 但是我不确定URLEncoder是否可靠。