【问题标题】:Python 3.5 | Split List and convert to csvPython 3.5 |拆分列表并转换为 csv
【发布时间】:2016-08-09 14:46:15
【问题描述】:

我有两个列表保存在两个值中。那些看起来像:

project_titles = ['T1', 'T2', 'T3']
project_loc = ['L1', 'L2', 'L3']

实际上,我将使用此代码的值写入 csv:

with open('data.csv', 'w') as f:
    csv.writer(f).writerow(project_titles)

当我将 csv 转换为 excel 时,我得到:

  • 单元格 A1 = T1
  • 单元格 B1 = T2
  • 单元格 C1 = T3

没关系,但我需要在 csv 导出后得到以下结果:

  • 单元格 A1 = T1;单元格 B1 = L1
  • 单元格 A2 = T2;单元格 B2 = L2
  • 单元格 A3 = T3;单元格 B3 = L3

你有什么想法吗?

【问题讨论】:

  • 保留对csv.writer(f) 的引用并在该引用上调用writerow,以便您可以多次调用它。你可以做类似your_writer.writerow(project_titles) 然后your_writer.writerow(project_loc)

标签: python excel python-3.x csv


【解决方案1】:

您可以使用zip() 聚合来自两个或多个列表的元素,然后使用csvwriter.writerows() 将结果行写入文件:

with open('data.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(zip(project_titles, project_loc))

【讨论】:

  • 该代码适用于两个变量。这次真是万分感谢。但是我有五个变量,并且需要一行中每个变量的第一个值。我认为“对”不起作用。你有别的想法吗?
  • @Sebastian:您可以将相同的想法应用于任意数量的列表,因为zip() 可以采用任意数量的可迭代对象。不过,使用writerows() 可能比使用writerow() 更容易。
猜你喜欢
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-30
  • 1970-01-01
  • 2020-05-04
  • 1970-01-01
相关资源
最近更新 更多