【问题标题】:Csv import with split lines带有分割线的 CSV 导入
【发布时间】:2017-08-04 17:34:06
【问题描述】:

你好,我对 python 很陌生。 我正在尝试将 csv 文件导入列表,然后拆分行但出现错误: new_list = your_list.split(',') AttributeError: 'list' 对象没有属性 'split'

import csv

with open('testcsv.csv', 'r') as f:
  reader = csv.reader(f)
  your_list = list(reader)
for row in your_list:
  new_list = your_list.split(',') 

CSV 文件:

1,11
2,12
3,13
4,14

我想从列表中得到的输出是:

'1', '11'
'2', '12'
'3', '13'
'4', '14'

现在我明白了:

'1, 11' 
'2, 12' and so on...

【问题讨论】:

  • 拆分row,而不是your_list。
  • 如果我将 your_list 更改为 row import csv with open('testcsv.csv', 'r') as f: reader = csv.reader(f) your_list = list(reader ) 对于 your_list 中的行:new_list = row.split(',')
  • 嗯,如何在评论中格式化代码?
  • 请问您希望 CSV 文件的最终结果是什么?我刚刚在本地执行了你的代码,但它失败了,因为your_list 最终会得到类似[['row1a', 'row1b'], ['row2a', 'row2b']] 的东西,而split 不能在数组上调用
  • 好的,这解释了错误,我想把它分成两列谢谢。

标签: python-3.x csv import split


【解决方案1】:

your_list 有你的解决方案。您无需执行任何进一步的步骤。

with open('testcsv.csv', 'r') as f:
  reader = csv.reader(f)
  your_list = list(reader)
  print your_list

结果:[['1', '11'], ['2', '12'], ['3', '13'], ['4', '14']]

【讨论】:

  • 是的,谢谢,这正是我想要的,所以现在我只需要将每一行写入一个列表,而不仅仅是打印每一行,就像在 for 循环 last_list[行] = new_list
  • 您的意思是将所有项目添加到一个列表中吗?
  • 是的一个列表,但每行上的每个 ',' 分隔在一个新列中
  • 喜欢列表列表吗?
  • 好吧,我不确定我是否理解你的意思,但如果我在 for 循环之外写 print new_list,我希望得到上面的结果
【解决方案2】:

@excaza 在 cmets 中做出了正确的观察,您应该使用修改 row 而不是 your_list。但我认为您正在寻找 join 而不是?

for row in your_list:
  string_row = ', '.join(row)

【讨论】:

    【解决方案3】:

    所以正如 anvita 指出的问题不是问题,结果是我从一开始就想要的:

    with open('testcsv.csv', 'r') as f:
      reader = csv.reader(f)
      your_list = list(reader)
      print your_list
    

    所以我不知道是否应该删除孔线程,因为它有些混乱?

    但是,我设法用这段代码解决了这个问题(没问题):)

    import csv
    
    with open('testcsv.csv', 'r') as f:
        reader = csv.reader(f)
        your_list = list(reader)
    a = []
    for row in your_list:
        string_row = ', '.join(row)
        new_list = string_row.split(',')
        a.append(new_list)
    print(a)    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-19
      • 1970-01-01
      • 2020-12-26
      • 1970-01-01
      • 1970-01-01
      • 2015-08-28
      • 2018-01-11
      相关资源
      最近更新 更多