【问题标题】:(Python) changing csv file into list of tuples [duplicate](Python)将csv文件更改为元组列表[重复]
【发布时间】:2021-03-11 05:23:41
【问题描述】:

如果我使用此代码:

    with open('data/stock.csv', newline='') as csvfile:
        reader = csv.reader(csvfile, delimiter=',', quotechar='|')
        for row in reader:
            print(row)    

结果是:

['2020-07-01', 'NYSE', 'Johnson & Johnson', 'JNJ', '140.38', '6174800']
['2020-07-02', 'NASDAQ', 'Apple Inc.', 'AAPL', '91.03', '114041600']
['2020-07-02', 'NASDAQ', 'Microsoft Corporation', 'MSFT', '206.26', '29315800']
['2020-07-02', 'NYSE', 'Berkshire Hathaway Inc.', 'BRK', '267551', '500']
...

有了这些行,我要做的就是把这个结果改成:

stock_tuples = [('2020-07-01', 'NYSE', 'Johnson & Johnson', 'JNJ', 140.38, 6174800), ('2020-07-02', 'NASDAQ', 'Apple Inc.', 'AAPL', 91.03, 114041600), ....]

这意味着,

  • 我必须将每个 行的类型 更改为 str、str、str、str、float、int
  • 我必须在一个元组列表中创建行。

注意:除了import csv,我无法导入任何其他内容。

【问题讨论】:

  • 你的问题是什么?
  • 我必须将行更改为名为 stock_tuples 的元组列表。
  • 完整代码可以参考here

标签: python list csv tuples


【解决方案1】:

尝试列表理解, 所以而不是:

for row in reader:
    print(row) 

使用以下内容:

stock_tuples = [tuple(row) for row in reader]

然后您将在 stock_tuples 变量中获得所需的结果。

【讨论】:

    猜你喜欢
    • 2016-07-25
    • 1970-01-01
    • 2013-09-17
    • 2021-09-15
    • 2017-09-10
    • 2013-03-12
    • 2017-03-24
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多