python处理csv文件名中中文字符解决方法
2016-09-30 11:07
573 查看
给我的数据竟然用中文命名!不专业!
害得我半天没法批量处理数据,查了utf-8的各种变体,没用!然而,姐姐灵机一动,直接用len(file)来判断文件名,提取“轨迹元信息.csv”,对~是它~就是它~成功处理数据oh
yeah~
import csv
from datetime import *
import time
import os
import sys
def callAll(input,output):
csvout = file(output,'wb')
writer = csv.writer(csvout)
list_input_dir = os.walk(input)
for root, dirs, files in list_input_dir:
for fil in files:
#print len(fil)
if len(fil)==9 or len(fil)==14:
p = os.path.join(root,fil)
csvfile = file(p,'rb')
reader = csv.reader(csvfile)
#print p
count = dict()
user_id = ''
for line in reader:
if reader.line_num == 1:
continue
day = line[6].split(' ')[0]
millisecond = int(line[5])-int(line[4])
#date = datetime.utcfromtimestamp(here)
count[day] = count.get(day,0) + millisecond
user_id = line[1]
for a,b in count.items():
writer.writerow([user_id,a,b])
if __name__=='__main__':
input = '2015data'
output = '2015duration.csv'
callAll(input,output)
又好想买书了啊,《重构》感觉不错,然而我这个代码量不到1000的渣渣可以看吗?表示怀疑。
剁手剁手剁手~
害得我半天没法批量处理数据,查了utf-8的各种变体,没用!然而,姐姐灵机一动,直接用len(file)来判断文件名,提取“轨迹元信息.csv”,对~是它~就是它~成功处理数据oh
yeah~
import csv
from datetime import *
import time
import os
import sys
def callAll(input,output):
csvout = file(output,'wb')
writer = csv.writer(csvout)
list_input_dir = os.walk(input)
for root, dirs, files in list_input_dir:
for fil in files:
#print len(fil)
if len(fil)==9 or len(fil)==14:
p = os.path.join(root,fil)
csvfile = file(p,'rb')
reader = csv.reader(csvfile)
#print p
count = dict()
user_id = ''
for line in reader:
if reader.line_num == 1:
continue
day = line[6].split(' ')[0]
millisecond = int(line[5])-int(line[4])
#date = datetime.utcfromtimestamp(here)
count[day] = count.get(day,0) + millisecond
user_id = line[1]
for a,b in count.items():
writer.writerow([user_id,a,b])
if __name__=='__main__':
input = '2015data'
output = '2015duration.csv'
callAll(input,output)
又好想买书了啊,《重构》感觉不错,然而我这个代码量不到1000的渣渣可以看吗?表示怀疑。
剁手剁手剁手~
相关文章推荐
- 解决python3写文件时无法处理中文字符的问题
- 解决python中文处理乱码,先要弄懂“字符”和“字节”的差别
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- 【转】python csv 格式文件 中文乱码问题解决方法
- sqlite3 jdbc、c接口、python接口处理中文时遇到的问题及其解决方法
- sqlite3 jdbc、c接口、python接口处理中文时遇到的问题及其解决方法
- python csv 格式文件 中文乱码问题解决方法
- python中含有中文字符无法运行的解决方法
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- 黄聪:解决python中文处理乱码,先要弄懂“字符”和“字节”的差别
- 1229处理既含有中文又含有英文字符的字符串的相关程序解决方法
- Python处理unicode编码的txt文件(Python中文处理)——解决to_excel()和to_csv()导出文件内容为空的问题
- python 写csv文件,excel打开中文乱码解决方法
- python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- 基于python 处理中文路径的终极解决方法
- Python处理中文文本字符时提取某个汉字或字符的方法
- 黄聪:解决python中文处理乱码,先要弄懂“字符”和“字节”的差别
- 【随笔记录】python 处理中文时出现的错误'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)" 解决方法
- python与sqlite处理中文字符时出现的编码错误问题解决
- python中含有中文字符无法运行的解决方法