首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用循环为从csv导入的许多类似列创建同名字符串?

如何使用循环为从csv导入的许多类似列创建同名字符串?
EN

Stack Overflow用户
提问于 2021-05-25 18:02:16
回答 1查看 135关注 0票数 1

我想在python中使用csv中的数据。我希望使每一列成为一个单独的字符串,我想知道是否有一种方法可以循环这个过程,这样我就不必单独指定每个字符串的名称(因为命名约定非常相似)。

对于许多csv列,我使用以下代码:

代码语言:javascript
复制
    dot_title=str(row[0]).lower()
    onet_title=str(row[1]).lower()

对于2-11,我希望每个字符串被命名为相同的,但编号。也就是说,row2将成为一个名为onet_reported_1的字符串,row3将成为onet_reported_2,row4将成为onet_reported_3.等等,一路通到row12。

是否有一种方法可以用循环来实现这一点,而不是简单地单独定义onet_reported_1、_2、_3、_4等?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-26 12:38:46

所以,首先要弄清楚。

字符串是变量类型。在Python中,通过用单引号或双引号包围一些文本来创建字符串。

代码语言:javascript
复制
"This is a string"
'So is this. It can have number characters: 123. Or any characters: !@#$'

字符串是可以分配给变量的值。因此,通过给字符串取一个名称来使用它:

代码语言:javascript
复制
my_string = "This is a string"
another_string = "One more of these"

您可以对字符串执行不同类型的操作,比如使用+运算符将它们连接起来。

代码语言:javascript
复制
new_string = my_string + another_string

您可以创建字符串列表:

代码语言:javascript
复制
list_of_strings = [new_string, my_string, another_string]

看起来像["This is a stringOne more of these", "This is a string", "One more of these"]

要在一个循环中创建多个字符串,您需要一个存储它们的位置。一个名单是一个很好的候选人:

代码语言:javascript
复制
list_of_strings = []
for i in range(1, 11):
    list.append("onet_reported_" + i)

但是,我认为您想要的是将变量命名为"onet_reported_x“,这样您的结果就相当于:

代码语言:javascript
复制
onet_reported_1 = row[1] 
onet_reported_2 = row[2] 

以此类推,而不必键入所有多余的代码。这是个很好的本能。做这种事情的一个很好的方法是创建一个字典,其中键是您想要的字符串名称,值是row[i]的。

代码语言:javascript
复制
onet_dict = {}
for i in range(1, 11):
    onet_dict["onet_reported_" + i] = row[i]

或与字典的理解:

代码语言:javascript
复制
onet_dict = {"onet_reported_" + i: row[i] for i in range(1,11)}

两者都会给你同样的结果。现在,您有了一个字符串集合,该字符串的名称作为dict的键,映射到您希望与之关联的行值。要使用它们,而不是直接引用名称onet_reported_x,您必须访问dict的值,如下所示:

代码语言:javascript
复制
# Adding some other value to onet_reported_5. I'm assuming the values are numbers.

onet_dict["onet_reported_5"] += 20457
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67693327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档