我有一个CSV文件,下面是其外观示例:
Year: Dec: Jan:
1 50 60
2 25 50
3 30 30
4 40 20
5 10 10
我知道如何读取文件并打印每列(例如- ['Year', '1', '2', '3', etc]
)。但是我真正想做的是读取行,就像这样['Year', 'Dec', 'Jan']
,然后['1', '50', '60']
依此类推。
然后,我想将这些数字存储['1', '50', '60']
到变量中,以便稍后将它们总计(例如):
Year_1 = ['50', '60']
。那我可以做sum(Year_1) = 110
。
我将如何在Python 3中做到这一点?
您可以执行以下操作:
with open("data1.txt") as f:
lis = [line.split() for line in f] # create a list of lists
for i, x in enumerate(lis): #print the list items
print "line{0} = {1}".format(i, x)
# output
line0 = ['Year:', 'Dec:', 'Jan:']
line1 = ['1', '50', '60']
line2 = ['2', '25', '50']
line3 = ['3', '30', '30']
line4 = ['4', '40', '20']
line5 = ['5', '10', '10']
要么 :
with open("data1.txt") as f:
for i, line in enumerate(f):
print "line {0} = {1}".format(i, line.split())
# output
line 0 = ['Year:', 'Dec:', 'Jan:']
line 1 = ['1', '50', '60']
line 2 = ['2', '25', '50']
line 3 = ['3', '30', '30']
line 4 = ['4', '40', '20']
line 5 = ['5', '10', '10']
编辑:
with open('data1.txt') as f:
print "{0}".format(f.readline().split())
for x in f:
x = x.split()
print "{0} = {1}".format(x[0],sum(map(int, x[1:])))
# output
['Year:', 'Dec:', 'Jan:']
1 = 110
2 = 75
3 = 60
4 = 60
5 = 20
问题内容: 我正在从包含以下数据的CSV文件(xyz.CSV)中读取数据: 当我使用循环对其进行迭代时,我可以按以下代码逐行打印数据,并且仅打印column1数据。 通过上面的代码,我只能得到第一列。 如果我尝试打印line [1]或line [2],则会出现以下错误。 请建议打印列2或列3的数据。 问题答案: 这是我获得第二列和第三列的方法: 结果如下:
我正试图从压缩的csv文件中获取数据。有没有一种方法可以做到这一点,而不解压整个文件?如果没有,我如何解压文件并有效地读取它们?
我是R的新手,想读一个csv文件。但是当我试图阅读它时,我遇到了错误。我的csv文件如下: 当我在RStudio中使用此命令时,我得到了错误:命令: 错误: 读取时出错。表(file=file,header=header,sep=sep,quote=quote,:不允许重复的“row.names” 我还尝试删除错误并使用此命令: 但是当我查看输出时,它不能保持方阵的结构。你能帮我做什么吗?
问题内容: 我有一个很大的CSV文件(15 Gb),我需要从中读取大约一百万行。据我所见-并实现-Python中的CSV实用程序仅允许在文件中顺序迭代。 将所有文件读入内存以使用一些随机选择非常耗费内存,并且遍历所有文件并丢弃一些值并选择其他值非常耗时,因此, 无论如何 , 是否有必要从CSV文件中选择一些随机行,只读那行? 我尝试没有成功: CSV文件示例: 问题答案: 正如@AndreBoos
问题内容: 我正在尝试解析一个csv文件,并仅从特定列中提取数据。 范例csv: 我想只捕获特定的列,说,,和。 我看过的代码使我相信我可以通过其对应的编号来调用特定的列,即:将对应于2并遍历每一行使用会产生列2中的所有项目。只有它不能。 到目前为止,这是我所做的: 并且我希望这只会打印出我想要的每一行的特定列,除非不是,我只会得到最后一列。 问题答案: 你会得到从这个代码的最后一列的唯一方法是,
我正在运行一个程序,可以处理30000个类似的文件。他们中的一些人正在停止并产生这个错误...