Python 如何在csv中将连字符的权重转换为磅

Python 如何在csv中将连字符的权重转换为磅,python,python-2.7,csv,append,Python,Python 2.7,Csv,Append,我有一个csv,它看起来类似于以下内容: 示例数据 我需要对这个重量的两个部分进行计算,将其转换为磅数 例如,对于第1行,我需要输出(8*14)+10。但是,我不知道如何捕获该重量的两侧,以便执行上述计算 所需输出: csv模块以字符串形式提供给您;只需将破折号上的列拆分为,并映射到int(): 现在您有两个整数值要计算: >>> example = '8-10' >>> map(int, example.split('-', 1)) [8, 10] csv

我有一个csv,它看起来类似于以下内容:

示例数据 我需要对这个重量的两个部分进行计算,将其转换为磅数

例如,对于第1行,我需要输出(8*14)+10。但是,我不知道如何捕获该重量的两侧,以便执行上述计算

所需输出:
csv
模块以字符串形式提供给您;只需将破折号上的列拆分为,并映射到
int()

现在您有两个整数值要计算:

>>> example = '8-10'
>>> map(int, example.split('-', 1))
[8, 10]

csv
模块以字符串形式提供给您;只需将破折号上的列拆分为,并映射到
int()

现在您有两个整数值要计算:

>>> example = '8-10'
>>> map(int, example.split('-', 1))
[8, 10]

使用
csv
库和列表理解,您可以获得以下数据:

import csv

with open('sample.csv') as f:
   c = [r for r in csv.reader(f, delimiter=',')]
    data = [
        item[0] * 14 + item[1] for item in
            [map(int, row[2].split('-', 1)) for row in c]
    ]

    print data
输出:

[122, 132, 140, 206, 178, 123, 234, 290, 262]
下面的代码可以将所有数据写入新的文件中:

import csv

with open('sample.csv') as f:
    with open('new_file.txt', 'w') as w:
        c = [r for r in csv.reader(f, delimiter=',')]
        data = [
            item[0] * 14 + item[1] for item in
                [map(int, row[2].split('-', 1)) for row in c]
        ]
        for line, d in zip(c, data):
            for l in line:
                w.writelines(str(l) + ',')
            w.writelines(str(d))
            w.writelines('\n')

使用
csv
库和列表理解,您可以获得以下数据:

import csv

with open('sample.csv') as f:
   c = [r for r in csv.reader(f, delimiter=',')]
    data = [
        item[0] * 14 + item[1] for item in
            [map(int, row[2].split('-', 1)) for row in c]
    ]

    print data
输出:

[122, 132, 140, 206, 178, 123, 234, 290, 262]
下面的代码可以将所有数据写入新的文件中:

import csv

with open('sample.csv') as f:
    with open('new_file.txt', 'w') as w:
        c = [r for r in csv.reader(f, delimiter=',')]
        data = [
            item[0] * 14 + item[1] for item in
                [map(int, row[2].split('-', 1)) for row in c]
        ]
        for line, d in zip(c, data):
            for l in line:
                w.writelines(str(l) + ',')
            w.writelines(str(d))
            w.writelines('\n')

出于好奇,研究Python的两个量是什么?我问这个问题是因为
(8*14)+10
将重量换算成磅似乎是一个奇怪的计算方法。是吗?8石头10磅由8-10表示,通过执行精确计算将其转换为磅
(8*14)+10
:)?他使用的是石头和磅,而不是磅和盎司。一块石头重14磅,所以。。。出于好奇,看看Python,这两个量是多少?我问这个问题是因为
(8*14)+10
将重量换算成磅似乎是一个奇怪的计算方法。是吗?8石头10磅由8-10表示,通过执行精确计算将其转换为磅
(8*14)+10
:)?他使用的是石头和磅,而不是磅和盎司。一块石头重14磅,所以。。。等。显然这个问题被标记为离题,谢谢你的回答:)我将反向工程****出此代码:)显然这个问题被标记为离题,谢谢你的回答:)我将反向工程****出此代码:)