1、读取txt为list\dic\存为csv
# -*- coding: utf-8 -*-
import chardet #chardet.detect(content)输出编码方式
import pandas as pd
import csv
import re
'''读取txt、按行分割、存为列表\字典\CSV'''
#转为list写csv
with open("C:\\Users\\RSGIS201-4\\Desktop\\1.txt", "r") as file:
content_all=file.read().split('\n')
#content=re.split("\n", "#",content_all)
f1 = open('C:\\Users\\RSGIS201-4\\Desktop\\1.csv','w')
for v in content_all:
#一个空格替换为逗号
v0=v.replace(' ',',')
#多个空格替换为一个空格/逗号
v1 = re.sub(' +', ',', v)
f1.write(v1+'\n')
f1.close()
#转为字典写csv
Line = {}
with open("C:\\Users\\RSGIS201-4\\Desktop\\1.txt", "r") as file:
content_all=file.read().split('\n')
for line in content_all:
#b = line.strip() # 可以去掉换行符
(key, value) = line.split()
Line[key] = value
with open("C:\\Users\\RSGIS201-4\\Desktop\\1.csv", "w+") as csv_file:
[csv_file.write('{0},{1}\n'.format(key, value)) for key, value in Line.items()]
#第二种存为csv,有多余空行
with open("C:\\Users\\RSGIS201-4\\Desktop\\2.csv", "w") as csv_file:
writer = csv.writer(csv_file, lineterminator='\n')
for key, value in Line.items():
writer.writerow([key, value])
#基于dataframe
2、获取目录下特定格式文件名
root为每个文件的上级文件夹
dirs一直在变动,为当前root包含的文件夹
files为文件名称
dir为遍历文件夹的根目录
os.path.splitext(file),可以将文件名和扩展名分开,其中[0]返回文件名,[1]返回扩展名。
import os
FileList=[]
dir = u"D:\\实验"
for root, dirs, files in os.walk(dir):
for file in files:
if os.path.splitext(os.path.join(root,file))[1]== '.doc': #文件过滤
FileList.append(os.path.join(root,file))
print os.path.join(root,file)
'''输出结果
D:\实验\20180111150640_805.doc
D:\实验\0000城市发展研究\论文流程.doc
D:\实验\222测绘地理信息年会\1_20190228100234_d5afv.doc
D:\实验\222测绘地理信息年会\1_20190228100245_uzu9h.doc
D:\实验\222测绘地理信息年会\1_20190228100255_ymb5k.doc
D:\实验\小知识\08-2013081329-赵树瑞.doc
D:\实验\小知识\PCA.doc
'''
python数据包numpy及pandas函数参考:
numpy:https://www.cnblogs.com/WSX1994/articles/9061516.html
pandas:https://www.pypandas.cn/getting_started/10min.html