【问题标题】:Need to output multiple user-in-putted values from a large CSV to a new CSV [closed]需要将多个用户输入的值从大型 CSV 输出到新的 CSV [关闭]
【发布时间】:2023-03-12 14:27:02
【问题描述】:

对于这个尴尬的问题,我很抱歉,但在来这里进行调整/调试之前,我没有找到一个可以开始的类似示例。我想做的事情有什么具体的名字吗?如果我描述了我正在尝试做的事情,有人能告诉我我应该寻找什么样的东西吗?

我正在尝试在 Python 中编写一个简单的实用程序,该实用程序将打开一个大型“数据库”CSV(3000 行,每行有 30 多列)并要求用户输入一些输入,无论是行号还是如果他们没有'不知道,来自第 1 列的值。然后它将打印出与它匹配的所有行。然后用户可以输入他们想要的行号并重复,直到他们拥有他们想要的所有行,然后输出到 CSV,然后将其转换为 JSON 格式(这部分至少是简单的)。

有人可以给我举个例子,或者为我提供学习这种搜索和输出的正确术语吗?

CSV 文件的打开以及最后从 CSV 到 JSON 的更改都有我可以参考的示例。

谢谢!

【问题讨论】:

  • 那么 SO 不是免费的代码编写服务。 Python 有对csvjson 数据进行操作的工具,如果你的数据集真的那么小(小于1GB),你可以只搜索值,所以不需要花哨的东西。如果您有任何具体问题,请将其包含在您的问题中或添加其他问题。

标签: python python-2.7 csv


【解决方案1】:

你可以试试这样的:

data = [...] # From csv
# Create a dict, with the first column as the key and the row as the value
first_to_row = {cell[0]: cell for cell in data}
result = []

while True:
    inp = raw_input(...)
    selection = None

    # branch based on input
    if # done
        break
    elif # row number
        row_number = ...
        selection = data[row_number]
    else # first column
        first_column = ...
        selection = first_to_row[first_column]

    result.append(selection)

您可能希望将data[...]first_to_row[...] 包装在try...catch IndexError 块中。

【讨论】:

  • 谢谢!字典!这正是我需要的东西。感谢您的帮助!
猜你喜欢
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-11
相关资源
最近更新 更多