python - 用python格式化数据
问题描述
大家好,我有这个文件,我需要清理它,不知道从哪里开始
['GB', 'LINCOLN'] ['GB;ENG;Lincoln\n'] 3396
(['IT', 'SEGRATE'], "IT~25~Segrate'\n", 3397)
(['IT', 'SEGRATE'], "IT~25~Segrate'\n", 3398)
(['MX', 'IZTAPALAPA', 'CIUDAD DE MEXICO'], "MX~CMX~Iztapalapa'\n", 3399)
(['US', 'VA', 'CHESAPEAKE'], "US~VA~Chesapeake'\n", 3400)
(['US', 'GA', 'UNION CITY'], "US~GA~Union City'\n", 3401)
['GB', 'HULL'] ['GB;ENG;Sutton', 'on', 'Hull\n'] 3402
理想情况下,我希望输出的是 csv 文件。
GB,LINCOLN,GB,ENG,Lincoln
MX,IZTAPALAPA,CIUDAD DE MEXICO,MX,CMX,Iztapalapa
这个文件是极其不一致的数据,所以我不确定我将如何做到这一点。
我不是程序员,所以我在这里有点挣扎。
解决方案
您可以使用以下代码来完成这项工作:
with open("filetoopen.txt","r") as f:
lines = f.readlines()
no = ['[',']','(',')','\'','\"',' ']
com = [';','~']
li = []
for i in range(len(lines)):
for j in range(len(lines[i])):
if lines[i][j] == '\\':
break
elif lines[i][j] in com:
li.append(',')
elif lines[i][j] not in no and lines[i][j] not in com:
li.append(lines[i][j])
li.append("\n")
li.pop()
ans = ''.join(li)
with open("mycsv.csv", "w") as g:
g.write(ans)
f.close()
g.close()
推荐阅读
- python - 在 pytorch 中,我们如何将模型的权重保存到我的 github 中的文件中
- javascript - 从数组中应用过滤器选项
- oauth-2.0 - 配置从 FusionAuth 获取不透明令牌
- android - Retrofit 2.7.1 无法在 android 中运行 show failed to connect java.net.ConnectException
- get - 如何在邮递员中使用多个数据执行相同的 GET 请求?
- ruby-on-rails - 在控制器中将模型A映射到模型B
- composer-php - Composer 安装程序脚本未正确运行 [退出代码 1]
- python - Tweepy 等待速率限制在 Tweepy 流中不起作用
- c++ - C ++将随机字符串插入另一个字符串的多个位置
- angularjs - 从源“http://localhost:4200”访问“http://localhost:8082/kanchiwork/”的 XMLHttpRequest 已被 CORS 策略阻止