在Python中使用变量的麻烦

时间:2016-12-17 15:55:53

标签: python python-2.7 beautifulsoup

我是Python的初学者,我知道这个问题非常基础,但我似乎找不到谷歌搜索的解决方案。

我正在用Python编写一个简单的抓取脚本,我正在使用BeautifulSoup进行解析。我只是停留使用变量来设置我的CSV写入函数的文件名。说我有一个名为“类别”的变量,我该如何将其设置为CSV文件的名称?

category = "student"

with open('%category.csv', 'a') as csv_file:  
   writer = csv.writer(csv_file)
   writer.writerow([cname, caddress, ccontact])

4 个答案:

答案 0 :(得分:1)

试试这个:

with open(category + '.csv', 'a') as csv_file:  

你不要那样替换变量。阅读一本基本书。

答案 1 :(得分:1)

请改为尝试:

with open('%s.csv' % category, 'a') as csv_file:  

有关Python中字符串格式的更多信息,请参阅this informative article

答案 2 :(得分:1)

像这样使用format()

with open('{}.csv'.format(category), 'a') as csv_file:

<强>输出:

>>> category = 'my_file'
>>> '{}.csv'.format(category)
'my_file.csv'

答案 3 :(得分:1)

这项任务可以通过多种方式实现,其中很少列出如下:

  1. String Concatenation。

    category = "student" 
    with open(category + '.csv', 'a') as csv_file: 
    
  2. 字符串格式

     with open('%s.csv' % category, 'a') as csv_file: 
    
  3. 使用format()功能

    with open('{}.csv'.format(category), 'a') as csv_file:  
    
  4. 我希望这些都能为你效劳。

    最好的一个是: -

    category = "student.csv" 
    with open(category, 'a') as csv_file:
    

    最后一个是最简单的一个,更改文件名只是改变变量的值。