我使用Python来处理CSV文件。我试图创建一个循环,将返回与第一列中的字符串关联的值。具体来说,对于包含字符串"string"我想对第二列的值求和。我有许多行包含字符串"字符串"的数据,我希望第二列的每个值都与字符串"字符串"相关联。把它们相加得到一个数字。
提前感谢您的帮助。
Column1 Column2 Column 3
9 NaN 40 101
12 String 50 102
我强烈建议你看看pandas
。
其pd.read_csv()
在速度和功能方面是首屈一指的(IMO)。然后,你会得到非常棒的分析功能。
import pandas as pd
df = pd.read_csv('myfile.csv')
df.loc[df['Shadow'] == 'Full Shadow', 'February'].sum()
# gives: 35.37
或者,给你一个很酷的东西,你可以做一行熊猫:
df.groupby('Shadow').sum()
给:
February March
Shadow
Full Shadow 35.37 41.05
No Record 26.60 39.97
如果您正在使用Python,这可能会对您有所帮助。我假设你使用Excel来存储值,所以你需要做的是:首先获得openpyxl包pip install openpyxl
安装到您的python
import json
from openpyxl import load_workbook
workbook = load_workbook(filename='C:/Users/john/Desktop/fjdc.xlsx')
sheet = workbook["sheet1"]
sum = 0
# Using the values_only because you want to return the cells' values
# whatever the min and max col you want
for row in sheet.iter_rows(min_row=0,
min_col=0,
max_col=3,
values_only=True):
if(row[0]=="Full_Shadow"):
sum+=float(row[1])
# Using json here to be able to format the output for displaying later
print(json.dumps(sum))