python - 将不同行的 csv 写入保持相同标题的列中? - Python

标签 python csv dictionary dynamic zip

带有格式的CSV文件

   Name  X    Y    L   W 
   alpha 100  200  50  20
   beta  200  250  30  40
   ...

我们如何将CSV转换成格式

  Name  X     Y   L   W   Name  X    Y    L   W  
  alpha 100  200  50  20  beta  200  250  30  40

最大行数(不包括标题)为 4。有人可以指导如何为这种情况构建动态字典并使用 python 压缩以获取上述格式的结果吗?

最佳答案

如果数据不是很大,则使用简单明了的脚本。

import csv
rd = csv.reader(open("input.csv"), delimiter=' ', quoting=csv.QUOTE_MINIMAL, skipinitialspace=True)
header = rd.next()
wr = csv.writer(open("output.csv", "w"), delimiter=' ')
data_lines = 0 
data = []
for line in rd:
    data += line
    data_lines += 1
wr.writerow(header*data_lines)
wr.writerow(data)

skipinitialspace=True 是删除分隔符中的多余空格(考虑到输入 csv 是 ' ' 分隔的)。

关于python - 将不同行的 csv 写入保持相同标题的列中? - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52258451/

相关文章:

c# - 如何使用 LINQ 像 SQL 一样查询 CSV?

python - 从嵌套字典中获取值.Python

python - 将 2d numpy 数组转换为列表列表

使用类的 Python 前 20 个名称代码

python - 在 Python 中选择一系列列

python - 在 Python3 中解析 JSON 响应

linux - 从文件夹中的所有 tsv 文件中提取前三列

ruby-on-rails - 导入 CSV 时,如何处理与关联对应的行中的数据?

ios - 按键中对象的属性对字典进行排序/过滤

python - 从字典中获取值索引