如何通过使用python3组合字符串来对.csv文件值进行排序

杰夫

我还在学习,所以请忍受我。我一直在试图解决这个问题,但是没有找到我正在寻找的东西。

My Product.csv file looks like this.

111 ; Info1 ; Description 1 ; Remarks1
123 ; Info1 ; Description 1 ; Remarks1
156 ; Info2 ; Description 2 ; Remarks2
124 ; Info3 ; Description 3 ; Remarks3

I would like to combine entries that are similar like this.

111, 123 ; Info1 ; Description 1 ; Remarks1
156 ; Info2 ; Description 2 ; Remarks2
124 ; Info3 ; Description 3 ; Remarks3

From here i can manipulate my csv file in Excel using vba to insert into a quotation.

这就是我想使用Python实现的目标。我m脚从哪里开始。我想我需要通过打开文件然后读取csv文件来进行处理。之后,将变量分配给#(即111),信息,说明,备注。然后通过变量排序,并像#一样组合。然后将其写回到文件中。如果您需要我进行校准,请告诉我。

decltype_auto

这是itertools.groupby的任务

编辑:我重构了第一个版本以提高可读性

# file group_by_trailing_py2.py
import os
import csv
from itertools import groupby

DELIM=';'
IN_FILENAME = 'My Product.csv'
OUT_FILENAME = 'My Product.grouped.csv'

############  skip this if you run  it against productive data ###############
DATA = '''111 ; Info1 ; Description 1 ; Remarks1
123 ; Info1 ; Description 1 ; Remarks1
156 ; Info2 ; Description 2 ; Remarks2
124 ; Info3 ; Description 3 ; Remarks3'''

if (os.environ.get('WITH_DATA_GENERATION')):
    open(IN_FILENAME,'w').write(DATA)
##############################################################################

keyfunc = lambda row: row[1:]

with open(IN_FILENAME) as csv_file:
    rows = sorted(csv.reader(csv_file, delimiter=DELIM), key=keyfunc)

it = map(lambda t: [", ".join(v[0].strip() for v in t[1]) + " "] + t[0],
            groupby(rows, key=keyfunc))

with open(OUT_FILENAME, 'w') as csv_file:
    writer = csv.writer(csv_file, delimiter=DELIM)  
    for row in it:
        writer.writerow(row)

如果与

WITH_DATA_GENERATION=1 python3 group_by_trailing_pk2.py

它产生My Product.grouped.csv的内容:

111, 123 ; Info1 ; Description 1 ; Remarks1
156 ; Info2 ; Description 2 ; Remarks2
124 ; Info3 ; Description 3 ; Remarks3

由于您已有工作量,因此您将不会设置WITH_DATA_GENERATION并删除'####...'注释行之间(包括注释行)的代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在csv文件中对整数进行排序-python

来自分类Dev

Python:对csv文件的列进行重新排序

来自分类Dev

使用具有空值的命令按三列对csv文件进行排序?

来自分类Dev

使用具有空值的命令按三列对csv文件进行排序?

来自分类Dev

如何通过在Python中几个字典中组合与键对应的值来创建新字符串?

来自分类Dev

对具有字母数字值的字符串数组进行排序(Python3)

来自分类Dev

如何在python中对csv文件中的范围进行排序?

来自分类Dev

如何使用operator.itemgetter()对CSV文件进行排序

来自分类Dev

如何使用awk对csv文件中的记录进行排序

来自分类Dev

如何使用awk对csv文件中的记录进行排序

来自分类Dev

如何使用java中的某些列对CSV文件进行排序

来自分类Dev

如何用java中的两列对csv文件进行排序?

来自分类Dev

如何对CSV文件中的多列进行排序

来自分类Dev

如何按字母顺序对CSV文件进行排序?

来自分类Dev

按日期对csv文件的输出进行排序python

来自分类Dev

使用给定的列表熊猫对CSV文件进行排序

来自分类Dev

使用列值python对excel文件进行排序

来自分类Dev

在python中的文本文件中对值进行排序

来自分类Dev

按JSON中的值对python中的JSON文件进行排序

来自分类Dev

如何使用bash脚本对与字符串+数字组合的字符串进行排序?

来自分类Dev

如何使用python对csv文件进行排序以逐步添加数据行以进行输出

来自分类Dev

通过特定的字符串值进行排序

来自分类Dev

如何使用 sorted() 函数在 Python 3 中对 CSV 文件中的数据进行排序?

来自分类Dev

Python排序CSV文件

来自分类Dev

使用Python 2.7中的CSV lib对CSV文件中的数据进行排序

来自分类Dev

如何将IP地址替换为列表中的字符串,以通过检查IP地址之间的重复来对python中的字符串进行排序

来自分类Dev

如何使用特定字符串作为 bash 中的排序键对文件进行排序?

来自分类Dev

使用<xsl:sort>对部分字符串值进行排序

来自分类Dev

通过numpy.loadtxt导入文件时,按升序对CSV文件进行排序

Related 相关文章

  1. 1

    在csv文件中对整数进行排序-python

  2. 2

    Python:对csv文件的列进行重新排序

  3. 3

    使用具有空值的命令按三列对csv文件进行排序?

  4. 4

    使用具有空值的命令按三列对csv文件进行排序?

  5. 5

    如何通过在Python中几个字典中组合与键对应的值来创建新字符串?

  6. 6

    对具有字母数字值的字符串数组进行排序(Python3)

  7. 7

    如何在python中对csv文件中的范围进行排序?

  8. 8

    如何使用operator.itemgetter()对CSV文件进行排序

  9. 9

    如何使用awk对csv文件中的记录进行排序

  10. 10

    如何使用awk对csv文件中的记录进行排序

  11. 11

    如何使用java中的某些列对CSV文件进行排序

  12. 12

    如何用java中的两列对csv文件进行排序?

  13. 13

    如何对CSV文件中的多列进行排序

  14. 14

    如何按字母顺序对CSV文件进行排序?

  15. 15

    按日期对csv文件的输出进行排序python

  16. 16

    使用给定的列表熊猫对CSV文件进行排序

  17. 17

    使用列值python对excel文件进行排序

  18. 18

    在python中的文本文件中对值进行排序

  19. 19

    按JSON中的值对python中的JSON文件进行排序

  20. 20

    如何使用bash脚本对与字符串+数字组合的字符串进行排序?

  21. 21

    如何使用python对csv文件进行排序以逐步添加数据行以进行输出

  22. 22

    通过特定的字符串值进行排序

  23. 23

    如何使用 sorted() 函数在 Python 3 中对 CSV 文件中的数据进行排序?

  24. 24

    Python排序CSV文件

  25. 25

    使用Python 2.7中的CSV lib对CSV文件中的数据进行排序

  26. 26

    如何将IP地址替换为列表中的字符串,以通过检查IP地址之间的重复来对python中的字符串进行排序

  27. 27

    如何使用特定字符串作为 bash 中的排序键对文件进行排序?

  28. 28

    使用<xsl:sort>对部分字符串值进行排序

  29. 29

    通过numpy.loadtxt导入文件时,按升序对CSV文件进行排序

热门标签

归档