2024-06-28 20:35:35 发布
网友
我的CSV文件是这样的
0.0063,0.0121,band -> mcr music 0.0061,0.0123,band -> mcr 0.0062,0.0122,band -> orchestra
如何对csv文件的第一列进行排序并打印每一行?所以,在这种情况下,最终输出应该是
0.0061,0.0123,band -> mcr 0.0062,0.0122,band -> orchestra 0.0063,0.0121,band -> mcr music
这是熊猫的等价物。如果您想更快地访问该文件,可以检查如下内容:http://pythondata.com/working-large-csv-files-python/。本指南将帮助您建立csv数据库
import pandas as pd data = '''\ 0.0063,0.0121,band -> mcr music 0.0061,0.0123,band -> mcr 0.0062,0.0122,band -> orchestra''' file = pd.compat.StringIO(data) # Replace with path/to/file df = pd.read_csv(file, sep=',', header=None).sort_values(by=1, ascending=False) for i in df.values: print(i) #df.to_csv('path/to/outfile', index=False, header=False)
印刷品:
[0.0061 0.0123 'band -> mcr'] [0.0062 0.0122 'band -> orchestra'] [0.0063 0.0121 'band -> mcr music']
csv基本上是一个python数组(矩阵)。也就是说,您的数据实际上如下所示:
csv = [ [0.0063, 0.0121, 'band -> mcr music'], [0.0061, 0.0123, 'band -> mcr'], [0.0062, 0.0122, 'band -> orchestra'] ]
然后可以将ith列的排序看作sorting a list of tuples。你应该做:
csv = sorted(csv, key=lambda x: x[0])
或者,您可以使用array build in sort方法进行就地排序:
sort
csv.sort(key=lambda x:x[0])
现在要打印可以在数组上迭代的每一行:
for line in csv: print(line)
要获得原始问题的输出(值以,分隔):
,
print(','.join(line))
这是熊猫的等价物。如果您想更快地访问该文件,可以检查如下内容:http://pythondata.com/working-large-csv-files-python/。本指南将帮助您建立csv数据库
印刷品:
csv基本上是一个python数组(矩阵)。也就是说,您的数据实际上如下所示:
然后可以将ith列的排序看作sorting a list of tuples。你应该做:
或者,您可以使用array build in
sort
方法进行就地排序:现在要打印可以在数组上迭代的每一行:
要获得原始问题的输出(值以
,
分隔):相关问题 更多 >
编程相关推荐