【问题标题】:repetitive csv loads with pandas [duplicate]使用熊猫重复加载 csv [重复]
【发布时间】:2017-10-30 06:15:41
【问题描述】:

我需要导入

 pd.read_csv

我第一次导入时的重复导入

node_t1 = pd.read_csv('5mins/nodes/N01')
node_t2 = pd.read_csv('10mins/nodes/N01')
node_t3 = pd.read_csv('15mins/nodes/N01')
...

我可以只写一次“N01”,大约只在第一行,自动代码插入所有行。

我需要实现这段代码,因为在第二次,第三次,...时间我需要将“N01”更改为“N02”,然后...,“N11”

【问题讨论】:

  • 所以使用一些循环:for time in ['5mins', '10mins', '15mins']: for node in range(1, 12): ...
  • 这很可疑,标题中的拼写错误相同...

标签: python pandas


【解决方案1】:

使用循环:

for n in range(1, 12):
    for time in ('5mins', '10mins', '15mins'):
        print('{time}/nodes/{n:0>2}'.format(time=time, n=n))

然后您可以轻松地将它们存储在字典中

from itertools import product
dct = {}
for idx, (n, time) in enumerate(product(range(1, 12), ('5mins', '10mins', '15mins')), 1):
    dct['node{:0>2}'.format(idx)]  = pd.read_csv('{time}/nodes/{n:0>2}'.format(time=time, n=n))
print(dct)

这将是这样的(除了值是您的 csv 文件而不是字符串):

{'node01': '5mins/nodes/01',
 'node02': '10mins/nodes/01',
 'node03': '15mins/nodes/01',
 'node04': '5mins/nodes/02',
 'node05': '10mins/nodes/02',
 ....
 'node31': '5mins/nodes/11',
 'node32': '10mins/nodes/11',
 'node33': '15mins/nodes/11'}

【讨论】:

    猜你喜欢
    • 2018-10-28
    • 2014-05-25
    • 2019-04-07
    • 2017-12-23
    • 2019-09-28
    • 2018-01-18
    相关资源
    最近更新 更多