【问题标题】:Python - Insert multiple data into multiple array by loopingPython - 通过循环将多个数据插入多个数组
【发布时间】:2018-06-29 18:16:05
【问题描述】:

我目前有 3 个不同的 csv 文件,其中包含一些数据。我想将数据插入到 3 个不同的数组中。这是我目前正在编写的编码

arrayList = []
for index, url in enumerate(urls):
with open('filename{}.csv'.format(index),'r') as f:
    for line in f:
        while line != '':
            arrayList[index].append(line)

我知道代码肯定行不通。有什么办法可以做到吗?

【问题讨论】:

  • 有一些很棒的库可以让 CSV 更容易阅读。您要手动执行此操作吗?这个问题有没有可能对您有所帮助? stackoverflow.com/questions/3518778/…
  • while line != '': 没有多大意义,我认为if line: 更好。此外,您正在尝试索引原始列表,就好像它是嵌套的一样;它不是。您将其定义为 1D
  • 是的,我意识到,设法使用 csv 模块解决,谢谢顺便说一句! @roganjosh

标签: python arrays loops csv


【解决方案1】:

试试这个。它生成一个包含三个列表的列表。顺便说一句,在 Python 中没有像 Java 中那样的“arrayLists”。只有一个“列表”,其行为类似于 Java ArrayList。

arrayList = []
for index, url in enumerate(urls):
    with open('filename{}.csv'.format(index),'r') as f:
        temparr=[]
        for line in f:
            if line != '':
                temparr.append(line)
        arrayList.append(temparr)

使用 CSV 模块:

import csv
arrayList = []
for index, url in enumerate(urls):
    with open('filename{}.csv'.format(index), 'rb') as f:
        reader = csv.reader(f)
        arrayList.append([row for row in reader])

【讨论】:

  • 我真的会为此推荐 csv 模块,您只是在附加可能代表具有多列的行的文本。您甚至不需要创建内部列表,因为 csv 模块会为您完成。
  • 我刚刚修改了@Ezhars 的代码,但我同意CSV 模块会更好。也许我会发布另一个答案
  • 哇,谢谢,两者都像我想要的那样工作@ᴡʜᴀᴄᴋᴀᴍᴀᴅᴏᴏᴅʟᴇ3000
猜你喜欢
  • 2014-11-27
  • 2017-02-16
  • 1970-01-01
  • 2019-11-18
  • 1970-01-01
  • 2014-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多