python - 每次读取 csv 中的第一列并更改 python 中的其他列
问题描述
我有一个包含 300 多列和 5k 行的 csv 文件。我要做的是在第一次迭代中读取第一列和第二列,然后在第二次迭代中读取第一和第三列,然后在第三次迭代中读取第一和第四列,依此类推。另外,我需要包含标题。我的 csv 文件示例如下所示:
Time,Household 1,Household 2, .....
Timestamp,Vehicle 1,Vehicle 2,......
01-01-2010 00:00:00,0,0,....
01-01-2010 00:00:10,0,0,....
. ,.,....
. ,.,....
. ,.,....
. ,.,....
这是我写的代码:
import pandas as pd
import numpy as np
household = pd.read_csv(r'/home/deras/Desktop/PEV-Profiles-new.csv',index_col = False,dtype='unicode',delimiter = ',')
#print (household)
i = 1
k = 0
j = 0
for row in household:
d1 = household.iloc[:,k]
d2 = household.iloc[:,i]
d3 = d1 + d2
i = i + 1
k = k + 1
Path = '/home/deras/Desktop/csv_parsing_new/Load_Profile'+str(j)+'.csv'
d3.to_csv(Path)
j = j + 1
if i == 348:# and k == 1:
break
任何帮助将不胜感激。
解决方案
如果我正确理解您的问题,您有一个包含 N 列的 CSV 文件,并且您想将其分割成 N-1 个包含 (1,2)、(1,3)、(1,4)、.. ..,(1,N)。如果是这样,应该这样做:
col_first = household.columns[0]
for i in range(1, household.shape[1]):
col_i = household.columns[i]
household.loc[:, [col_first, col_i]].to_csv(f'{i}.csv', index=False)
推荐阅读
- reactjs - 如何设置 Material-UI MenuItem 的宽度?
- python - 从列表中的几个元素中解析一些值的更 Pythonic 方式?
- python - 用于在字符串中生成字符的循环,带有权重的 Python random.choice
- python - Jupyter 笔记本无法打开静态文件
- ruby-on-rails - 如何在 Ruby on Rails 中使用 PostgreSQL JSON 数组查询 ActiveRecord::Relation
- .htaccess - timthumb.php 和 htaccess 规则
- amazon-web-services - 检查 CloudFormation 是否已部署 AWS 资源
- reactjs - 从字段输入访问变异器
- r - 检查 R igraph 中节点之间的连通性时的时间复杂度问题
- php - 将多维数组字符串转换为数组