gpt4 book ai didi

Python读取CSV转字符串

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:21 31 4
gpt4 key购买 nike

我有一个包含以下值的 CSV

ID, Value
1, a
2, b
3, c

如何使用 Python 将此 csv 转换为以下字符串

[('ID', 'Value'), (1, 'a'), (2, 'b'), (3, 'c')]

我正在尝试使用以下代码

with open('sample.csv', 'rb') as csvfile: 
reader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in reader:
data = ', '.join(row)
rows.append(data)
print rows

我只得到以下输出

["'ID','Value'", "1,'a'", "2,'b'", "3,'c'"]

最佳答案

生成列表[('ID', 'Value'), (1, 'a'), (2, 'b'), (3, 'c')]您需要将数字字符串转换为整数的 CSV 数据。这是在 Python 2 中执行此操作的一种方法。

import csv

data = []
with open('sample.csv', 'rb') as csvfile:
reader = csv.reader(csvfile, skipinitialspace=True)
data.append(tuple(next(reader)))
for num, val in reader:
data.append((int(num), val))

print data

输出

[('ID', 'Value'), (1, 'a'), (2, 'b'), (3, 'c')]

csv.reader 将 CSV 数据的每一行生成为一个列表。我们需要从该列表中提取项目并将第一个项目转换为 int。然后我们可以将这两个项目打包成一个元组并将其附加到 data 列表中。但是,标题行包含两个字符串,因此我们不想在标题行上执行该转换。

这段代码:

data.append(tuple(next(reader)))

获取标题行并将其转换为元组并将结果附加到我们的 data 列表中。


请注意,Python 2 csv 模块要求您以 'rb' 模式打开文件,但在 Python 3 中您需要以 模式打开文件'r' 模式。有关更多详细信息,请参阅相应的模块文档。除此之外,并使用 print 函数而不是 print 语句,无需其他更改即可在 Python 3 上运行上述代码。

关于Python读取CSV转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47670930/

31 4 0
文章推荐: c - 这是一个 clang 错误吗? typedef 的匿名结构
文章推荐: html -
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com