将不同csv文件的最大值导出为一个

时间:2018-03-12 05:32:11

标签: python python-2.7 csv

我有3个数据集,其中包含每个位置m3 / s的流量。数据集1是5年ARI洪水,数据集2是20年ARI洪水,数据集3是50年ARI洪水。 每个位置我发现最大放电(5,20& 50)

代码:

for key in Data_5_ARI_RunID_Flow_New.keys():

    m = key   
    y5F_RunID = Data_5_ARI_RunID_Flow_New.loc[:,m]
    y20F_RunID = Data_20_ARI_RunID_Flow_New.loc[:,m]
    y50F_RunID = Data_50_ARI_RunID_Flow_New.loc[:,m]                                                                     
    max_y5F = max(y5F_RunID)    
    max_y20F = max(y20F_RunID)    
    max_y50F = max(y50F_RunID)
    Max_DataID = m, max_y5F, max_y20F, max_y50F
    print (Max_DataID)

输出如下:

('G60_18', 44.0514, 47.625, 56.1275)
('Area5_11', 1028.4065, 1191.5946, 1475.9685)
('Area5_12', 1017.8286, 1139.2628, 1424.4304)
('Area5_13', 994.5626, 1220.0084, 1501.1483)
('Area5_14', 995.9636, 1191.8066, 1517.4541)

现在我想将此结果导出到csv文件,但我不知道如何。我使用了这行代码,但它没有用:

Max_DataID.to_csv(r'C:\Users\Max_DataID.csv', sep=',', index = False)    

2 个答案:

答案 0 :(得分:1)

将此文件名myexample.csv与您要创建文件的特定路径一起使用。
请检查Max_DataID是否为可迭代值。作为你的引用,值是元组的形式,所以我使用list()将元组转换为列表,这将是csv中writerow支持的值。

import csv
file = open('myexample.csv', 'wb')
filewriter = csv.writer(file,delimiter =',')
for data in Max_DataID:
    filewriter.writerow(list(data))

答案 1 :(得分:0)

您可以执行以下操作。

df.to_csv(file_name, sep='\t')

此外,如果你想将它分成几行,比如10,000行,或者其他什么,你可以这样做。

import pandas as pd
for i,chunk in enumerate(pd.read_csv('C:/your_path_here/main.csv', chunksize=10000)):
chunk.to_csv('chunk{}.csv'.format(i))