鱼C论坛

 找回密码
 立即注册
查看: 1357|回复: 2

[已解决]python

[复制链接]
发表于 2021-12-5 18:24:37 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

人均国内生产总值(元)  
8717
9506
10666
12487
14368
16738
20494
24100
26180
30808
36277
39771
43497
46912
49922
53783
59592
65534
70328
72000
这是经济数据.csv文件中的一列如何
读取“经济数据.csv”,判断"人均国内生产总值(元)“是否大于20000,如果大于则设置为”是“,否则设置为”否“,新建一列保存结果
我没有权限贴文件,谢谢各位大佬!
最佳答案
2021-12-5 18:52:47
如果只有一列数据,假设数据如你所贴出的,代码如下:
  1. import csv


  2. with open('data2.csv', 'r', encoding='utf-8') as csvfile:
  3.     reader = csv.reader(csvfile)
  4.     data = list(reader)

  5. with open('result2.csv', 'w', encoding='utf-8', newline='') as csvfile:
  6.     writer = csv.writer(csvfile)
  7.     for line in data:
  8.         if int(line[0]) > 20000:
  9.             line.append('是')
  10.         else:
  11.             line.append('否')
  12.         writer.writerow(line)
复制代码


假如数据有多列,分割符为逗号,假设数据如下(其他数据用数字代替了):
  1. 8717,0,1
  2. 9506,0,1
  3. 10666,0,1
  4. 12487,0,1
  5. 14368,0,1
  6. 16738,0,1
  7. 20494,0,1
  8. 24100,0,1
  9. 26180,0,1
  10. 30808,0,1
  11. 36277,0,1
  12. 39771,0,1
  13. 43497,0,1
  14. 46912,0,1
  15. 49922,0,1
  16. 53783,0,1
  17. 59592,0,1
  18. 65534,0,1
  19. 70328,0,1
  20. 72000,0,1
复制代码

那么代码如下:
  1. import csv


  2. with open('data.csv', 'r', encoding='utf-8') as csvfile:
  3.     reader = csv.reader(csvfile, delimiter=',')
  4.     data = list(reader)

  5. with open('result.csv', 'w', encoding='utf-8', newline='') as csvfile:
  6.     writer = csv.writer(csvfile)
  7.     for line in data:
  8.         if int(line[0]) > 20000:
  9.             line.append('是')
  10.         else:
  11.             line.append('否')
  12.         writer.writerow(line)

复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-12-5 18:43:20 | 显示全部楼层
csv中只有这一列内容还是有很多列,多个列用的间隔符是什么?
没权限传文件可以贴代码,那个不受限制。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-5 18:52:47 | 显示全部楼层    本楼为最佳答案   
如果只有一列数据,假设数据如你所贴出的,代码如下:
  1. import csv


  2. with open('data2.csv', 'r', encoding='utf-8') as csvfile:
  3.     reader = csv.reader(csvfile)
  4.     data = list(reader)

  5. with open('result2.csv', 'w', encoding='utf-8', newline='') as csvfile:
  6.     writer = csv.writer(csvfile)
  7.     for line in data:
  8.         if int(line[0]) > 20000:
  9.             line.append('是')
  10.         else:
  11.             line.append('否')
  12.         writer.writerow(line)
复制代码


假如数据有多列,分割符为逗号,假设数据如下(其他数据用数字代替了):
  1. 8717,0,1
  2. 9506,0,1
  3. 10666,0,1
  4. 12487,0,1
  5. 14368,0,1
  6. 16738,0,1
  7. 20494,0,1
  8. 24100,0,1
  9. 26180,0,1
  10. 30808,0,1
  11. 36277,0,1
  12. 39771,0,1
  13. 43497,0,1
  14. 46912,0,1
  15. 49922,0,1
  16. 53783,0,1
  17. 59592,0,1
  18. 65534,0,1
  19. 70328,0,1
  20. 72000,0,1
复制代码

那么代码如下:
  1. import csv


  2. with open('data.csv', 'r', encoding='utf-8') as csvfile:
  3.     reader = csv.reader(csvfile, delimiter=',')
  4.     data = list(reader)

  5. with open('result.csv', 'w', encoding='utf-8', newline='') as csvfile:
  6.     writer = csv.writer(csvfile)
  7.     for line in data:
  8.         if int(line[0]) > 20000:
  9.             line.append('是')
  10.         else:
  11.             line.append('否')
  12.         writer.writerow(line)

复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-30 23:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表