【问题标题】:Reading CSV file based to the condition根据条件读取 CSV 文件
【发布时间】:2017-05-27 08:03:48
【问题描述】:

我的csv文件是这样的

Despription,Car, Deminsion,, 
length,5677,
height,3797,
width,6883,
Engine,,
cc,2000,
power,65,
Break,,
rear,disc,
front,disc,

我想提取 Deminsion 和引擎之间的行并将它们放入一个变量中,并将 Engine 和 Break 之间的行放入另一个变量中。 我一直在用 python csv 尝试它。 有人能找到出路吗?

【问题讨论】:

  • 你试过什么? (请阅读How to Ask...)
  • 您的 CSV 文件没有意义。为什么文件中还有另外三列从未使用过?我猜'Deminsion'(一个错字,顺便说一句。)应该在一个新的行上,对吧?此外,这些列名没有任何意义......
  • 是的,维度是新行。
  • 我正在逐行获取值。我想提取特定的列。
  • 我想提取列中的特定部分。条件是获取维度和引擎、引擎和刹车之间的数据。这只是一个示例列。原始数据很大,放在这里。

标签: python csv


【解决方案1】:

您需要实现该逻辑,程序将无法通过配置属性来实现。用 bag-functions 实现圆

# Pattern identification list
store = {'Deminsion': [], 'Engine': []}
# Default / initial pattern
target = 'Deminsion'

with open('data1.txt') as csvFile:
# Create a list of parameters
dataList = [line.split() for line in csvFile]        
# Process the list 
for i,x in enumerate(dataList):
    if i == 0:
        continue 
    x=x.split()
    if x[0] in store:
        target = x[0]
    else:
        store[target].append(x)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 2017-10-02
    • 2016-12-06
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多